[Tweak] Minimizing Texture Pop-in

#1choocaPosted 3/27/2009 2:20:24 PM
As we all know, this game has some noticeable texture pop-in, and that's mainly due to the PC version of the game still using Texture Streaming technique of the engine intended for Console.

Mainly, this tweak deals with [TextureStreaming] section of the RushEngine.ini
Since it is IMPOSSIBLE to turn off texture streaming (if you turn it off, you'll have broken textures ingame).

Now, before I give the tweak, make sure you can run this game VERY COMFORTABLY (FPS wise) before trying this, as this puts a large load on the PC. Last thing, make a back up of your current RushEngine.ini (just in case something goes wrong). Now let's start, open up the RushEngine.ini in My Documents\My Games\The last remnant\RushGame\Config

1. bUseBackgroundLevelStreaming=True -> change it to FALSE, I think this disables streaming while you are moving about the field which basically force the engine to load everything up beforehand. This is set to "True" to increase performance I believe.

2. The huge section of [TextureStreaming]

These are the default configuration:

[TextureStreaming]
PoolSize=82
HysteresisLimit=20
DropMipLevelsLimit=8
StopIncreasingLimit=6
StopStreamingLimit=4
MinFudgeFactor=1
FudgeFactorIncreaseRateOfChange=0.7
FudgeFactorDecreaseRateOfChange=-0.6
MinRequestedMipsToConsider=11
MinTimeToGuaranteeMinMipCount=2
MaxTimeToGuaranteeMinMipCount=12
UseTextureFileCache=FALSE
MaxTextureMipCount=13
MinTextureResidentMipCount=7

To optimize it for the fastest possible of streaming (Thereby reducing pop-in) are as follows:

[TextureStreaming]
PoolSize=320
HysteresisLimit=20
DropMipLevelsLimit=16
StopIncreasingLimit=12
StopStreamingLimit=8
MinFudgeFactor=.5
FudgeFactorIncreaseRateOfChange=0.5
FudgeFactorDecreaseRateOfChange=-0.4
MinRequestedMipsToConsider=11
MinTimeToGuaranteeMinMipCount=0
MaxTimeToGuaranteeMinMipCount=0
UseTextureFileCache=TRUE
MaxTextureMipCount=13
MinTextureResidentMipCount=7

As you can see there are a large number of changes... the most interesting part of the section is probably these:

MinRequestedMipsToConsider=11
MinTimeToGuaranteeMinMipCount=0
MaxTimeToGuaranteeMinMipCount=0
UseTextureFileCache=TRUE
MaxTextureMipCount=13
MinTextureResidentMipCount=7

MinTextureResidentMipCount can not be changed... changing it below 7 will create a larger texture deficit, increasing it will get broken textures...

MinTimeToGuaranteeMinMipCount and MaxTimeToGuaranteeMinMipCount are what I think the game uses to release the "full picture" for you to see... The min 2 is there for low end hardwares... changing this below 2 could potentially increase load time and just overall slow down.

UseTextureFileCache seems to actually make the vid card ram/vram hold some texture information... I was able to completely remove texture pop-in between areas of the colesseum place (the one under dilmoor, I walked back and forth between the east/central sections)

Using these settings, I was able to reduce/eliminate texture pop-in for the majority of the game. There are still some when my vid card needs a total flush of memory ...

My Spec to run these smoothly + highest setting and shadow
Intel i7 920
GTX 285
3Gig Ram
Windows XP SP3
1920x1080 resolution
#2SykzPosted 3/27/2009 2:48:59 PM
I don't have RushEngine.ini, but I have BaseEngine.ini and DefaultEngine.ini

Unfortunately, making ANY change to either file causes the game to say the .ini is broken when I start the .exe.
---
We're just a million little gods causing rain storms turnin' every good thing to rust.
#3daijitaruPosted 3/27/2009 2:50:42 PM
Thanks, testing the changes now.
#4daijitaruPosted 3/27/2009 2:51:39 PM
My Documents\My Games\The last remnant\RushGame\Config
#5cxaylePosted 3/27/2009 2:56:20 PM
This definately decreased pop-in, but at the same time it decreased the amount of mobs in the area as well . :( Whenever i enter a new area there are mobs but, if i initiate, and finish fighting one, the other mobs i saw before fighting dont appear on the field anymore.
#6daijitaruPosted 3/27/2009 2:57:51 PM
yea, all the mobs disappeared xD...
#7chooca(Topic Creator)Posted 3/27/2009 4:30:52 PM
Ah... sorry not tested throughly enough...
bUseBackgroundLevelStreaming=True (this must remain True) for the mobs to show up... this at the same time also increases texture pop in. To offset it a little more try the following:

[SystemSettings]
StaticDecals=TRUE
DynamicDecals=TRUE
DynamicLights=TRUE
DynamicShadows=TRUE
LightEnvironmentShadows=TRUE
CompositeDynamicLights=FALSE
ShadowFilterQualityBias=0
DirectionalLightMaps=TRUE
MotionBlur=TRUE
DepthOfField=TRUE
Bloom=TRUE
QualityBloom=TRUE
SpeedTreeLeaves=TRUE
SpeedTreeFronds=TRUE
OnlyStreamInTextures=FALSE
LensFlares=TRUE
FloatingPointRenderTargets=TRUE
Trilinear=TRUE
OneFrameGPULag=True
UseVSync=TRUE
SkeletalMeshLODBias=0
bEnableHighPolyChars=TRUE
ParticleLODBias=-1
DetailMode=2
ShadowFilterQualityBias=0
MaxAnisotropy=16
ScreenPercentage=100
SceneCaptureStreamingMultiplier=1.0
FoliageDrawRadiusMultiplier=1.0

Two interesting setting:
OnlyStreamInTextures=FALSE
OneFrameGPULag=True

The one frame GPU lag was Unreal 3's "fix" for streaming by withholding the mage in GPU... but apparently this game's loading screen is 1 frame short and thus shows the image before the texture applies...

[TextureStreaming]
PoolSize=158
HysteresisLimit=20
DropMipLevelsLimit=16
StopIncreasingLimit=12
StopStreamingLimit=7
MinFudgeFactor=0.5
FudgeFactorIncreaseRateOfChange=0.5
FudgeFactorDecreaseRateOfChange=-0.4
MinRequestedMipsToConsider=11
MinTimeToGuaranteeMinMipCount=0
MaxTimeToGuaranteeMinMipCount=0
UseTextureFileCache=FALSE
MaxTextureMipCount=11
MinTextureResidentMipCount=7

Some of the settings above are UT3's default setting and seem to work the best... I've tried mirror's edge and mass effect, both seems to be worse than UT3...
#8cxaylePosted 3/27/2009 5:34:18 PM
k, tested, and i can confirm that there are significantly less pop-in textures, and although textures do pop-in every now and then, its still better than the default config.
#9jeffrey802Posted 3/29/2009 10:12:20 AM
um can someone post the default system settings? I forgot to backup my rushengine =P
---
life is boring if ur azn.
all chinz ppl enjoy buffets.
#10chooca(Topic Creator)Posted 3/29/2009 3:55:09 PM
best way to get "default" is just to delete the rushengine.ini
the game will make a default when you play it.