Archived

This topic is now archived and is closed to further replies.

DAL1850

Interesting Performance Find (VAS and FPS)

Recommended Posts

I've been living so long in DX9-land with Bojote's excellent tweaks + shaders that I really haven't bothered revisiting the age-long battle of FSX performance/blurries/stuttering, etc. With the recent release of the DX10 fixer, I've taken another good look at my settings and stumbled into a veritable performance gold mine for my T7. Your mileage can and will vary, but I throw this out there in case others have adopted similar "tweaks" that once helped them that may now be hurting them.

 

My settings are tailored for a a 4Ghz system, HT quad core, with a 1GB ATI video (6870HD). I've been using a variety of performance analysis tools to measure VAS, texture bandwidth, GPU utilization, etc. and came to the realization that my GPU is pretty much asleep and drooling on the pillow while my CPU cores are thrashing around violently shuttling large 4K textures around in memory. I stumbled into this reading and noticed Word Not Allowed's recommendations here depart somewhat from the Phil Taylor and Bojote tweaks:

 

http://#####.wordpress.com/fsx-software-and-hardware-guide/comment-page-6/

 

The most significant change was to eliminate BufferPools entirely:

 

BufferPools=0

PoolSize=0

 

This had a very immediate effect on VAS and FPS as the CPU was no longer "buffering" data in system RAM for a more than capable graphics adapter. Suddenly my GPU came alive.

 

The next significant change was to "cage" FS to 3 physical cores - more importantly...my "real" cores...not the fake/virtual hyper-threaded pseudo-cores. As the OS tends to use and abuse CPU0, the logical choices are CPU1-3. Setting my affinity mask to 84 (was 255) moved all CPU processing to the dormant cores. The effect was immediate. The overall caching behavior was insanely better and my performance spiked commensurately.

 

The last change was the infamous FIBER_FRAME_TIME_FRACTION that we've all been futzing with since time immortal in an attempt to cure the blurries. Changing this value up or down has never produced any kind of definitive result for me, so I've just left it alone at its default of 0.33. The reality is that LOD_RADIUS (mine is 6.5) and texture filtering (mine is anisotropic 16x set through my graphics driver applet) have a far more significant impact on blurries than this, What this DOES do, is control the relative percentage of time that is allotted to scenery rendering vs updating the rest of the sim. I pulled this back to its minimum of 0.10, which favors simulation over rendering, and I'm rocking n rolling with a very stable (frame-limited) 30 FPS @ 8xCSAA - with 4K textures enabled, and a 30-40% GPU load and VAS in the low to mid 2's.

 

Considering that I began with 12 FPS, 1K textures, and VAS in the low to mid 3's, this is a very happy place to find myself.

 

I don't offer this as a magic bullet by any means - every system is going to have its own limitations and unique tunings - but if you're packing decent hardware and still trying to escape frame rates in the teens, one or more of these might be "knobs" worth tuning again, especially if you recently made the switch to DX10.

 

J

 

PS. If you're willing to live with a *very* slight reduction in image fidelity (most notably in the ND displays which may appear slightly fuzzy), turning off the HD cockpit in the T7 yields a very appreciative return. Other aircraft (using 1K textures or smaller) will look like &@($*, however, so this is probably something best reserved for the T7.

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

The graphics engine was never designed to handle a radius of 6.5, you are going to have an unstable platform and eventual crashes. All you are doing is just trying to use workarounds to make a broken system work some of the time

Share this post


Link to post
Share on other sites

The graphics engine was never designed to handle a radius of 6.5, you are going to have an unstable platform and eventual crashes. All you are doing is just trying to use workarounds to make a broken system work some of the time

 

Grind axes much?

 

In any event, that is patently false. I've been running as high as 7.5 for well over a year now without instabilitIy or crashes. I've only recently dialed it back to 6.5 to keep VAS in check when flying the T7 over photoreal scenery. The LOD_RADIUS tweak has been well documented for ages - going all the way back to Phil Taylor's blog from 2007:

 

 

Phil Taylor wrote:

 

5 Jun 2007 3:28 PM

changing the LOD radius slider is the only way to affect what is drawn in the distance.

Share this post


Link to post
Share on other sites

Great post, but I thought conventional wisdom had affinity mask at 14? I have Usepools=0 which I think does the same as setting bufferpools and poolsize to 0. 

Share this post


Link to post
Share on other sites

In DX9 you want to have Bufferpools=0 because the balance between CPU and GPU load is so different. But using this setting in DX10 will actually reduce your performance. So for DX10 you want to have to enable bufferpools (by either removing the entry or setting a certain value). However, I found having it enabled in DX10 results in exactly the same peformance as having it disabled in DX9.

Share this post


Link to post
Share on other sites

 

 


The graphics engine was never designed to handle a radius of 6.5, you are going to have an unstable platform and eventual crashes.

 

I run 9.5 for most Aircraft (RealAir Duke, A2A C172, TriStar, others).  LOD 7.5 for the Q-400 and the BAE-146.  Lowest case LOD is 6.5 for the T7 ... very stable under DX10.  Usual suspects installed (GEX, REX, FSDT, GSX, FSGRW, AccuFeel, FSUIPC, etc. etc.) and 2048 textures.

Share this post


Link to post
Share on other sites

J,

 

Thanks for your thought-provoking topic. I decided to look into my own PC performance to see if I could get any similar improvements. All of my tests were run with just PMDG777-200LR at rest at Gate 535 at EGLL.

 

Using Windows Task Manager, and NVIDIA Inspector 1.9.7.1 on my GeForce GTX590 graphics card, I decided to manipulate the values of BufferPools=, Poolsize=, Affinity Mask and LOD Radius (I cannot remember how to manipulate Texture Filtering).

 

After many hours previously determining my settings, I had decided on BufferPools=1, PoolSize=10000000, Affinity Mask=255 and LOD Radius of 4.5 for the PMDG 747-400X. These values gave me CPU usage varying between 20-100%, physical memory usage almost constant at 51%, GPU1 usage at 32%, and GPU2 usage at 0% for the PMDG 777-200LR.

 

Altering BufferPools from 1 to 0, and Poolsize from 10000000 to 0 together, made no difference in performance.

 

Altering Affinity Mask from 255 to 84 reduced my CPU usage to no higher than 50% (i.e. up to one half of previous usage).

 

Altering LOD Radius from  4.5 to 6.5 made no difference.

 

So until further suggestions are available, I shall be sticking to BufferPools=1, Poolsize=10000000, Affinity Mask=84, and LOD Radius=4.5.

 

Regards, Richard

Share this post


Link to post
Share on other sites

Great post, but I thought conventional wisdom had affinity mask at 14? I have Usepools=0 which I think does the same as setting bufferpools and poolsize to 0. 

 

14 is the recommended setting if you have a quad-core with HT *disabled*. With HT enabled, every other "core" is a virtual one (i.e. CPU0 and CPU1 - as reported by Task Manager - are really CPU0a and CPU0b...with "a" being real and "b" being the virtual/hyper-threaded core). A mask of 84 creates a mask of 00101010 which maps to CPU1a, CPU2a, and CPU3a.

 

The bufferpools mod really has to do with how your CPU and GPU manage the shuttling of texture data across the bus. I imagine ATI and nVidia cards behave very differently in this regard as will running DX9 vs DX10. Different CPUs and MB chipsets would also impact this as would running in an SLI/Crossfire setup. For me, the bufferpool tweak made a surprisingly unexpected impact. My understanding is that by disabling the buffer pools, textures are not "buffered" by FSX but streamed directly to the graphics adapter. If the GPU can keep up, this is ideal. If it can't keep up, this will result in stalls and stutters and may likely result in *lower* performance. I think this is very much a "try it both ways and see". Same for the fiber frame tweak.

 

Again, the intent of this post was not to promote a "gospel" configuration...only to encourage experimentation as I found that my "tried and true" setup from days past was no longer the secret sauce I needed to get optimal performance from my current system setup which has changed gradually over the years. I was shocked to see my performance more than double and my VAS problems evaporate with a few tweaks of these knobs that I had assumed for years to be "well-tweaked and set forever". There are probably as many "right" answers as there are configurations. The landscape and sophistication of third-party content for FSX has changed radically in recent years and what was "solid advice" 3 or 4 years ago may no longer apply.

 

Richard: the best way to change your filtering settings is to use nVidia Inspector and force it to Anisotropic 16x and make sure Anisotropic=1 appears under your Display.Device.xxx tag in FSX.CFG. Set texture filtering quality to High.

Share this post


Link to post
Share on other sites
The most significant change was to eliminate BufferPools entirely:

 

BufferPools=0

PoolSize=0

 

Both of the above do the same thing. It's one or the other.

 

You haven't stumbled upon anything new here. A multitude of us have been using BP=0 for a very long time.

 

 

 

 

 

The next significant change was to "cage" FS to 3 physical cores - more importantly...my "real" cores...not the fake/virtual hyper-threaded pseudo-cores. As the OS tends to use and abuse CPU0, the logical choices are CPU1-3. Setting my affinity mask to 84 (was 255) moved all CPU processing to the dormant cores. The effect was immediate. The overall caching behavior was insanely better and my performance spiked commensurately.

 

With HT off, AF should be 14.For some it makes a difference for some not. Again not new. If you have HT on...then why? It does nothing much for FSX except make your CPU run 10 degrees hotter.

 

 

If it can't keep up, this will result in stalls and stutters and may likely result in *lower* performance.

 

 

 

What usually happens is artefacts. In which case frame rate should be locked lower if it's too high, Autogen lower, etc. to reduce the data being pumped to the GPU.

Share this post


Link to post
Share on other sites

Gotcha. Yes, I have a quad core with HT disabled so in my case 14 would be the way to go. My GPU is a 4GB 580 so the Usepools=0 works fine for me. I have just played with the FFTF though and realized that mine hadn't been "optimum." Or maybe it was when I configured it...

Share this post


Link to post
Share on other sites

You have to be careful with BP=0.

 

Was fine for me with my old i7920, but as soon as I upgraded to a 3770K at 4.4, artefacts were present.

 

I realised that the new powerful CPU was pumping too much data to the GPU, so I reduced my locked frame rate from 60 to 50. That did it.

 

I'm lucky in that I can run at such high frame rate without stutters or issues, but in the case of the 3770k, it was a tad too much.

Share this post


Link to post
Share on other sites

Both of the above do the same thing. It's one or the other.

 

You haven't stumbled upon anything new here. A multitude of us have been using BP=0 for a very long time.

With HT off, AF should be 14.For some it makes a difference for some not. Again not new. If you have HT on...then why? It does nothing much for FSX except make your CPU run 10 degrees hotter.

 

 

I never claimed or advertised anything here was "new"...only that I changed my settings with favorable results and I thought to share *what worked for me* on the off chance others might benefit by checking their own configuration against their hardware/software setup.

 

On this note, I'm really surprised by some of the snarky snobbery in this thread. I thought it was maybe the altitude causing all the nose bleeds, but now I'm starting to see that there are just an abundance of noses that are just high up in the clouds.

 

If you have something objective to contribute, contribute, otherwise go soak your head. Check the attitude with a flight attendant.

Share this post


Link to post
Share on other sites

You have to be careful with BP=0.

 

Was fine for me with my old i7920, but as soon as I upgraded to a 3770K at 4.4, artefacts were present.

 

I realised that the new powerful CPU was pumping too much data to the GPU, so I reduced my locked frame rate from 60 to 50. That did it.

 

I'm lucky in that I can run at such high frame rate without stutters or issues, but in the case of the 3770k, it was a tad too much.

 

That's a really good point (CPU outperforming the GPU). These are the kinds of changes that happen over time which can invalidate an earlier performance setting you've taken for granted.

 

Oh, to live in the land of frame rates locked at 60fps! Is that with the T7? That's amazing when you consider 8 years ago we were all moaning about how we would ever squeeze 20 or 25 fps with stock aircraft and no blurries. My Alienware is already a dinosaur lol.

Share this post


Link to post
Share on other sites

So until further suggestions are available, I shall be sticking to BufferPools=1, Poolsize=10000000, Affinity Mask=84, and LOD Radius=4.5.

 

lod radius is ok, i never use higher settings - i can't see too much difference in visuals, but will increase VAS usage significantly.  Affinity Mask=84 is ok if you have HT on. But BP=1 is not needed. It's same thing like without that entry, FSX will use BP by default.

 

p.s. for guys with high lod radius settings - i can't remember exactly how high you can go, but keep in mind that above certain value FSX will actualy use default value. But you can keep that high settings if you feel better that way :lol:  

Share this post


Link to post
Share on other sites

I never claimed or advertised anything here was "new"...only that I changed my settings with favorable results and I thought to share *what worked for me* on the off chance others might benefit by checking their own configuration against their hardware/software setup.

 

On this note, I'm really surprised by some of the snarky snobbery in this thread. I thought it was maybe the altitude causing all the nose bleeds, but now I'm starting to see that there are just an abundance of noses that are just high up in the clouds.

 

If you have something objective to contribute, contribute, otherwise go soak your head. Check the attitude with a flight attendant.

I think your post was ok.

It is always nice to see how others are doing things and what effects they see.

 

I dont think the comments were meant the way you took it though.

There are a lot of unnecessary unfriendly replies here, but in this case all that was said it that your suggestions are not new. And they are not. But like I said, I liked your post and I am sure others appriciate it too.

 

I have never tried bufferpools 0 or affinity mask 14 because I have been adviced this stuff is for older PCs. But I will give it a shot. I like testing.

 

One thing; When you say your performance is so much better...have you confirmed that over other areas and with other aircraft also. Sometimes tweaks fix one thing and causes problems somewhere else!

Share this post


Link to post
Share on other sites

I was also adviced that in order to use bufferpools=0 you also need to set the water at x2 High. (to avoid artifacts like flashes).

 

And water high x2 adds quite an additionale load (additional shader pass)

 

So to get the same effect but without having to set water x2 High you can try this:

[bUFFERPOOLS]

UsePools=1

Poolsize=8388608

RejectThreshold=262144

 

I am just passing things on from my notes here, I dont even know what all these setting do to our hardware.....just thought I would share.

Share this post


Link to post
Share on other sites

p.s. for guys with high lod radius settings - i can't remember exactly how high you can go, but keep in mind that above certain value FSX will actualy use default value. But you can keep that high settings if you feel better that way :lol:  

 

I thought I read somewhere that max was 9.0 (which is insane). I only started messing with this parameter after installing my first set of photoscenery and it made a very notable difference in the quality of the terrain rendering. But you pay for this exponentially (memory) with every tick above 4.5. A setting in the 6's or 7's looks amazing but puts a significant strain on VAS (especially if you're working with 4K scenery textures) and added load on the graphics bus. I do not recommend changing this for anyone with < 4 GB of memory, running 32-bit Windows, or a weak CPU/GPU. You would likely not notice a difference with this setting if you use stock ground or low-res third-party scenery and/or have your max visibility capped to 60 nm or less.

 

Some of the newer "launchers" allow this value to be tweaked at startup time so you can vary this value based on the aircraft complexity, location (photoreal or not), and conditions of your flight (as some have done). I have not been able to run a high LOD with the PMDG planes *and* 4K textures without an eventual OOM. I either have to cap the textures to 1K or 2K, and/or limit the LOD radius to 6.5 or lower.

 

HD clouds are also a frame killer too (especially on ATI). I've moved away from those entirely; I haven't missed them.

Share this post


Link to post
Share on other sites

I have given up on the BP=0 tweak. No matter what I did, even with my water set at 2x high, I could not eliminate artifacts. I have now been using the RT tweak and kept the value reasonably low. This way I seem to have achieved roughly the same effect as BP=0 but without the artifacts.

 

Regards,

Share this post


Link to post
Share on other sites

Which is the setting that "pops" scenery faster to the screen? As in if I'm switching from external to cockpit view what setting is that will allow the cockpit graphics to load faster. And what is the tradeoff, fps? 

Share this post


Link to post
Share on other sites

Which is the setting that "pops" scenery faster to the screen? As in if I'm switching from external to cockpit view what setting is that will allow the cockpit graphics to load faster. And what is the tradeoff, fps? 

 

TEXTURE_BANDWIDTH_MULT

 

The default is 40. Mid-range systems can get away with 80. I would not go higher than 120 on a higher end system. Do NOT use 400 as was recommended in FS9.

 

This can be kind of a sketchy field to mess around with (I've not seen it increase performance but I'm sure the wrong setting can probably decrease it) but it does help with the terrain texture load times as you're panning around. If you overdo it and apply too high a value you'll get artifacting and all manner of texturing badness (and possibly a crash).

Share this post


Link to post
Share on other sites

I have mine set to 120 and FFTF is 0.20 but I'm still getting slow texture load times switching from VC to external and back again. FFTE doesn't affect it? 

Share this post


Link to post
Share on other sites

I don't mess with TBM anymore. I keep it at 40. It makes the sim much more stable. Instead I added a line right below that line that was found by Bjote. TextureMaxLoad=30

 

Much faster texture loading with that addition.

Share this post


Link to post
Share on other sites

I have mine set to 120 and FFTF is 0.20 but I'm still getting slow texture load times switching from VC to external and back again. FFTE doesn't affect it? 

 

It can. There's certainly more than one reason texture load times could be slow - so not every knob and lever affecting terrain texturing will make a difference. FFTF will throttle how what percentage of the update loop is given to rendering vs simulation (a larger number gives more cycles to the renderer). 0.20 is modestly aggressive. If you set it back to 0.33 (default) does the load time improve? You could also try reducing your TEXTURE_MAX_LOAD to 1024 if it's set to something large like 4096.

 

 

I don't mess with TBM anymore. I keep it at 40. It makes the sim much more stable. Instead I added a line right below that line that was found by Bjote. TextureMaxLoad=30

 

Much faster texture loading with that addition.

 

Gonna have to try that. My TBM is currently 120 and TML 6 (I have no recollection as to why this is set to 6).

 

EDIT: This post...

 

http://forum.avsim.net/topic/281312-texturemaxload-vs-texture-max-load/

 

...suggests that TML and TBM are multiplied together so it's really their product that is significant than their individual values. This post...

 

http://www.simforums.com/forums/fsx-tweaks-demystified_topic37948.html

 

...suggests something similar but recommends leaving TML at 6 (the default) and futzing with the TBM instead. I suppose it all amounts to the same at the end of the day if the formula above can be believed. The post strikes me as a little misinformed because the formula references the graphic adapter's DDR memory bandwidth and multiplying by a magic constant, but they're inserting the GPU's memory clock speed (1100Mhz instead of the bandwidth which is 70.4 GB/s) instead and basing all their figures on that.

 

Personally, I don't really put much stock in these magic formulas...i just bumped the numbers until the drop outs went away or artifacting occurred. Will try the 40/30 combo just for giggles though!

 

UPDATE: I tried a variety of combinations and could not identify any advantages. The only time I experienced a problem is when either of these value was set too low (then drop outs occur), but 40/30, 120/10, 80/15, even 120/30 all performed (subjectively) equally for me. I think this is a case of, "If the pipe is big enough, making a fatter pipe will not guarantee faster running water." (especially when the amount of water is finite).

 

If you trust the formula Bojote posted, then 120/6 with worst case of 4Kx4K 32-bit textures results in a pipe that allows 1.5GB per frame, or 45GB/s @ 30fps. This easily fits well within most modern graphics cards capabilities (my 6870HD will handle 150GB/s). I seriously doubt that FS is pushing anywhere near this much data per frame, though, so my 120/6 and your 40/30 are likely way beyond adequate. This is probably a gross over-simplification, but interesting stuff just the same.

Share this post


Link to post
Share on other sites

I never claimed or advertised anything here was "new"...only that I changed my settings with favorable results and I thought to share *what worked for me* on the off chance others might benefit by checking their own configuration against their hardware/software setup.

 

On this note, I'm really surprised by some of the snarky snobbery in this thread. I thought it was maybe the altitude causing all the nose bleeds, but now I'm starting to see that there are just an abundance of noses that are just high up in the clouds.

 

If you have something objective to contribute, contribute, otherwise go soak your head. Check the attitude with a flight attendant.

 

 

I had no wish to offend you. Think you may have misunderstood. I just interpreted your post as something you had discovered and were offering to the community. No criticism or snobbery intended.

 

 

Oh, to live in the land of frame rates locked at 60fps! Is that with the T7? That's amazing when you consider 8 years ago we were all moaning about how we would ever squeeze 20 or 25 fps with stock aircraft and no blurries. My Alienware is already a dinosaur lol.

 

It's possible for me because I have a powerful PC, and importantly, I avoid hyper detailed add-on airports. I also have sliders high enough to be acceptable in terms of eye candy, but low enough to provide high frame rate.

 

I run with GEX, UTX and REX. I don't bother with high def clouds as I find them unrealistic.

 

3770K at 4.4.

GTX 580

Share this post


Link to post
Share on other sites

I can't understand why some guys are getting visibly blurry terrain textures with a LOD radius set to 4.5. The only time that I see blurry textures in my UK photoscenery is when I switch to Tower View (or zoom out from the cockpit). So long as I stay inside the VC at normal zoom levels, the terrain textures look perfectly fine.

 

Maybe it's because some of you guys have HUGE monitors? I run FSX at 1280x1024x32bit resolution on a 19" TFT monitor.

Share this post


Link to post
Share on other sites