Minimizing Rage Texture Popping in (Below Min Specs) Low End

Post » Tue May 15, 2012 5:24 pm

Hope this helps someone....tweaking the game was almost as much fun as playing it.

Fwiw, I found this game to be among the best games I've ever played. I believe people who dont appreciate it should go play madden on a console or stick to following jason bieber on twitter. pc gaming is the only gaming there is. /rant.


Minimizing Rage Texture Popping in (Below Min Specs) Low End Systems

Texture popping is relatively easy to resolve on systems meeting minimum specs:


Setting texture cache size to large and reducing traditional parameters like resolution and antialiasing, combined with the latest patch make the game playable if you have “enough” vram and cpu power. Here, enough means if you meet the minimum specs you should be good.

Playing around with vsynch, job_numthreads and vt_maxPPF values should allow most users to squeeze the last bit of performance and visual quality out of their system if they put the time and effort in to experiment with combinations of these parameters.

Getting Rage playable is a different proposition if you are trying to play the game BELOW MINIMUM systems specifications.

Specifically, in my case, I’m running:

Phenom 9850 Black Edition, 2500 Mhz
A “lowly” SB600 Socket 940 AM2+ Mobo w 8gigs DDR2 Ram
Radeon HD3870 X2 dual gpu card with 512mb vram on each GPU


As of today only 1 of my gpus is being utilized as we wait for crossfire and sling support via patch.

Through trial and error, scouring the internet for recommendations, proving and disproving the value of improvement suggestions on my particular system, I have gotten to a current status where I am able to play at the following settings effectively crash-free, texture pop-free, and tearing-free:

1024 x 768
8x anti-aliasing
High anistropic anti-aliasing
.


Here’s how I did it…

I. Summary Recommendations

1. Maximize your stable overclocking opportunities


I’m running my 2500 Mhz quad core at 208 x 14 =2900.
I’m running my HD3870 X2 at max overclock settings 878 / 955 core/mem clocks.

CPU overclock is in the BIOS. GPU overclock is through MSI Afterburner.

Catalyst settings are:

AA parameters and refresh are application controlled, Cat AI Standard, MipMap performance setting, adaptive antialiasing enabled, Triple Buffer unchecked.

2. Understand and experiment with variables that actually matter on your system

Its all about how much texture streaming you can push through your system without the game puking up texture pop, tearing, crashing etc.

jobs_numThreads 0, 2 or 4 are values that should be investigated on your system
vt_maxPPF 8, 16, 32, 64 and 128 are values that should be investigated on your system

I have also had some success experimenting with:

1. Setting vt_pageimagesizeuniquediffuseonly to 8192 “in game” (and using vt_restart) after starting with the default “small” value of 4096.


With the advent of the latest patch, the 4 pageimagesize parameters are all set to 4096 or 8192 in the video settings (small or large texture cache). What I have found is that texture popping performance can be affected by tweaking the diffuseonly parameter (and not the other 3 parameters) in a config file executed “in game” from the console with “exec configfilename.cfg”.

2. Setting mem_phymemblocksizem to 128 (default 190) in the executable command line.

I’ve no idea what’s really going on with the parameter in the bowels of the id5 engine, I can only tell you that performance was enhanced when I played around with changes to this parameter (can only be changed at the command line and not in a config file).

Using Multiple Config Files and the console

I use 3 different cfg files to change parameters at game launch and in-game at the console…

Here’s my rageconfig.cfg file…

com_allowConsole 1
fc_maxCacheMemory MB 512
fs_cachepath C:\Documents and Settings\[Username]\Local Settings\Application Data\id software\Rage
jobs_numThreads 0
vt_maxPPF 64

vt_pageimagesizeuniquediffuseonly2 4096
vt_pageimagesizeuniquediffuseonly 4096
vt_pageimagesizeunique 4096
vt_pageimagesizevmtr 4096
vt_restart

Note: I’ve bolded the lines I believe are relevant. The vt_page… parameter is only important if you plan on re-running this config file in game after changing some parameters…otherwise all the pageimage parameters are controlled by the video settings texture cache in the latest patch.

In-game, you can run a separate config file to change parameters rather than having to type those ridiculously long variable names to reset them.

In my case, I run a file called me.cfg with the console command “exec me.cfg”

jobs_numThreads 2
vt_maxPPF 16
vt_pageimagesizeuniquediffuseonly 8192
vt_restart


Directionally, I’m increasing the number of cpu threads while reducing the number of page frames the system is trying to push through and concurrently increasing the size of the virtual texture page file parameter which seems to be the most important of the four.

Then if you want to change parameters back, you can re-run the rageconfig file from the console, or as I did u can execute a 3rd config file (in my case “exec fix.cfg”)

jobs_numThreads 0
vt_maxPPF 64
vt_pageimagesizeuniquediffuseonly 4096
vt_restart


I observed that the 2nd config file would completely eliminate popping in-game, but at the “cost” of typically crashing the game on a level change. So, while I was playing with values, I used the 3rd config file to “change back” parameters to the more “level change friendly” parameters in the 1st (rageconfig.cfg) file.

Your mileage will vary, but I strongly recommend you experiment with these “key” parameters in the console. Trial and error should yield a combination of parameters for your low end system which will minimize artifacts and crashing in game.

Good luck.
User avatar
tegan fiamengo
 
Posts: 3455
Joined: Mon Jan 29, 2007 9:53 am

Post » Wed May 16, 2012 12:58 am

Prior post summarized:
1. overclock where possible
2. trial and error with vt_maxppf, jobs_numthreads, and vt_pageimagesizeuniquediffuseonly
3. i use 3 different config files at the console to change these values in various game areas to try to "force" the textures to completely load

New "learnings" since my first post...

1. setting the diffuseonly parameter to 8192 on low end systems seems to be like "popping the clutch" wrt getting the textures to load completely (see item 2).

i would estimate it works about 50% of the time in an inside area. obviously (?), it doesnt work outside (more texture volume?) and it certain high texture areas (kasvir's complex for example).

2. amazingly, after the textures are "completely loaded" using this "trick", i can vt_restart with a "normal" diffuseonly value (4096) and the textures stay loaded (popping does not "re-appear" after reverting back to the "small" parameter value and using vt_restart).

3. at high enough overclocks (im running my GPU memory at 1040 versus 900 mhz), the textures "stay loaded" (no popping) even when reducing diffuseonly AND changing areas, including going outside (!).

previously, when sticking with catalyst enabled overdrive overclocks, i would have to "shrink" the diffuseonly parameter back to 4096 and turn off AA and AF to avoid a crash.

What does all this mean?

To me it means there should be a trivial fix in some combination of game code and driver code which enables the complete elimination of texture popping. I am amazed that the combination of game coders and driver coders cant acoomplish something as trivial as dynamically limiting resource requirements versus hardware capability, which varies both as a function of game area and game areas transition.

methodology:
1. sense hardware capability
2. define initial area load and steady state area resource requirement
3. limit resolution and quality options available to reconcile 1 with 2.

if i can make rage work on a HD3870 with limited knowledge and effort, why can't id software and amd accomplish the same thing? lol.

sidebar rant: i'm pretty tired of the graphic backround of this forum making posts difficult to read. am i missing something under profile options, or is the format of this forum really that bad? lol.
User avatar
lucile
 
Posts: 3371
Joined: Thu Mar 22, 2007 4:37 pm


Return to Othor Games