What's new
  • Most issues reported these days stem from users not enabling their emulators to use the required amount of RAM.
    We also tend not to use the search feature but post our issues within the texture pack release page.
    Failure to load a texture pack should not be posted in the release thread unless you have already patched the emulator.

    If you don't have the resources to use Large/HD texture packs please do not attempt to do so.
    Users should have a minimum amount of System RAM not less then 4GB's.
    If you have less then 4GB's of RAM do not post about how your emulator crashes,
    RAM is dirt cheap so invest some money into your PC.

    I would like to say thanks to squall_leonhart
    for posting this Solution.

Question on quality and performance of texture packs

mode7

New member
Hi, I've been comparing our retextured games with other 3d games of a similar quality and came to wonder about a few things?

1. quality: With our texture packs there's a big problem when textures are to big and are tiled into the distance. Far away they turn into an ugly grainy mess. I wonder why this is. When I look at other games this isn't the case.
Ok as far as i know games don't display one texture but if they get smaller they display a smaler version of them. I think this is called mip mapping.
Can't Rice do that? or is it rather the N64 hardware?

2. Performance. Another thing is a point I wanted to talk about for quite a while. Ever since I started to work on the textures, I'm having performance issues especially when the skies load. In some areas the framerate is extremely low, like 20fps and I can play crysis at very high settings with about 30-40fps.
I know that the texture loading is done by the game and is not optimized for this sizes at all. But perhaps it would be possible to precache some of the textures. to make it a bit smoother?

Another thing: Could both of this problems get better if someone would add DXT/S3 compression support?
Glide 64 seems to have it though enabling it doesn't change much, thoug I think the textures have to be in dxt format first - or am I wrong.

Sorry if some of the questions are stupid.
 

Clements

Active member
Moderator
I noticed that having a lot of graphics memory helps a lot, performance wise. The more the merrier, especially with bigger texture packs. I think optimisation of the packs is key to this as well. The evolution of texture replacement in Doom/Quake etc engines has shown that you don't necessarily need really large textures to make it look decent in-game. No doubt there is room for optimisation in the plugins themselves also. The caching feature in Glide64 does seem to help a little.
 
OP
mode7

mode7

New member
Of course you're right. Some textures could scaled down a bit. But in areas like hyrule field you need the detail at near distances where it gets grainy in the distance. This is why i brought up the mip mapping discussion.
 

death--droid

Active member
Moderator
1. This is because most other games use mip mapping so you don't have this problem. Which I think can be easily added in http://msdn.microsoft.com/en-us/library/bb206251(VS.85).aspx . Weather someone like me is bothered to do that, that is another matter :) Of course that stuff is for DirectX9, here is some stuff for DirectX8

2. I think the main problem is Rice Video loads the textures and kills them on the go, I may look into trying to improve this but I'm not that great of a programmer.
 
Last edited:

Jamrock990

New member
I think you may be on to something here. The N64 just isn't optimized whatsoever to be loading such large textures on the fly. In the case of the Zelda pack, where I assume everyone is getting stuttering. The skies being I believe 4096x512 is humongous for a moving skybox that is constantly moving and evolving from day to night. I think in the case of the Zelda pack, the stuttering issues are solely due to the sheer size of the sky textures, maybe they could be scaled down to say... 2048x512? That might make a substantial difference. Running 4096 textures in any game for that matter is going to have a HEAVY perf. impact no matter how good your computer is. Your going to need a lot of VRAM, and I still get stuttering upon transition where as death droid said, the textures are getting killed probably as they fade out of view (is that right?) and then when they come back into view again or you turn around it needs to re-load the textures so it seems that is a limitation that will inevitably slow it down. I have a 5970 w/ 2GB VRAM and I still get stuttering :)

I was under the impression that when textures fade into the distance. At least in modern games, that was the LOD doing it's job. Some games have more aggressive LOD than others. Metro 2033 on the Xbox 360 has a much more aggressive LOD than it does on the PC cause the 360 is a piece of crap and just can't handle it =D . But I believe you're right, mipmapping would be the technical term for it.. as LOD only means level of detail. Duh

2. I've been thinking the same thing. I know in Glide64, supposedly if it successfully caches the textures which I have been unable to do. That it makes a Cache folder inside of your Plug-ins folder. Maybe manually placing the sky textures into this folder would work? Although Glide64 doesn't seem to work for me in Zelda regardless so not sure that is the best solution. Something similar for the 1964 rev35 would be ideal.

I did manage to cache the textures to a degree. After entering Zelda with the high-res textures loaded and THEN using the option to cache the textures. The stuttering was completely gone ran smooth as butter. However, shortly after the sky textures went haywire, mixing and matching random sky textures, etc.

I think that pretty much confirms the sky textures are the issue, and that having the HDD have them pre-loaded would solve the problem. If only there was a way, you guys know more about these plug-ins than I do.
 
Last edited:
OP
mode7

mode7

New member
I think the texture size for the sky is not the problem the resolution may sound huge, but in the end its made up of of 4 1024x512 textures. A common resolution in some retextured areas. The problem is changing them on the fly.

On thing to quality: With nvidia cards (probably ati too) it is possible to force mip mapping (you can find it i nthe 3d config of the nvidia control tab) this really improves image quality. However I'm getting some weird errors like hires textures not apearing especially on the way to goron cave. Would be nice if someone could confirm that.

@Jamrock: You said mixing sky textures. I got a very strange error too. Like the "dark sky" (not retextured yet) apearing with young link. Even more strange it was completely rendered including the right lightning and the fog. Thought this might be because of the cheats enabled...
 
Last edited:

death--droid

Active member
Moderator
@mode7 I haven't heard of any problem with the dark spy appearing with young link.

Anyway I am hopefully going to be implementing mip mapping to Rice Video later today, but i think we may have to get Rice Video to work properly using DirectX 9.
 
Last edited:

Jamrock990

New member
@mode7 Yeah, it showed up after forcing high-rez texture caching after being in-game, well on the menu screen. That cleared up ALL the stuttering I was having, thought I found a fix and slowly but surely the skies started screwing up. I could actually see each box of textures, some black, some correct, some different time of the day.

Does this happen to you as well mode7, on the menu screen? That is, stuttering. When the intro screen first comes up and link is riding his horse across the screen, as soon as the scene changes to the ground. My FPS will always drop from 20fps to 14fps, and throughout the rest of the intro there won't be any drops as dramatic but nonetheless another 7-8 hiccups where the sound hiccups as well.

Wish I could pinpoint exactly what is causing this, as some people appear not to have this issue with much, much older computers. Maybe it has something to do with modern architecture. Quad-cores or crossfire? Although, I tried forcing PJ64 to just use one core and also turned off crossfire so only one card was being used and still the same issues.
 

death--droid

Active member
Moderator
I may be removing the directX 8 code from Rice Video, since any modern day card can run directX 9.
 

didado

New member
@ mode7

If you got a Nvidia video card, performance in Opengl or DirectX can be very influenced by the settings in the "Nvidia control panel".

"Threaded optimization" is always "off" because i have been testing it for years now and it was always a problem with N64 emu's using Opengl plugins..
I always use glide64.. (Opengl)

Unstable frames per second with this option "on".

Set "Texture filtering" to "High quality" which turns of unnecessary filters that can cause compatibility problems..

Glitches and speed drops can happen with the lower settings that enable the filters.

Disabling physx helps too

I just want to help for the speed problem :)
 
Last edited:

Top