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