FSX Tip of the Week:Water slider and FPS costs
So why does FSX not render as fast as your typical FPS game?
The primary difference is the sheer amount of things we render, given a 120+km or greater viewing distance and trying to render the visible portion of the planet within that viewing distance and not some hand-tuned level like a first-person shooter style game. We dont "know" what is going to be rendered at a particular location in FSX, and we cant "tune" the content in any specific way to address performance. Once you establish that as the fundamental difference, it isn’t meaningful to talk about "FSX seems light on shaders" vs GameX, or "FSX seems heavy on CPU workload" vs GameX. FSX is just different.
What we do though, is let the user manipulate settings via sliders and hope they can find a level of detail and visual quality that are both "good enough to look at" and "perform good enough to fly". For the most part, this just works. For the "tweakers", though, I have been blogging on various topics to try to help people understand how FSX works and where different "sweet spots" can be found.
For instance, every one notes that water is a heavy cost, especially 2.x. Why is that so?
Here is a breakdown of what the water slider does:
1.x has no reflections:
· The lowest 1.x level does the basic shader.
· The mid 1.x level adds an animated detail texture.
· The highest 1.x level adds some specular effects
2.x adds a 2nd pass to get reflections and this can be a killer:
· 2.low reflects only the clouds and has a little more complicated shader – it can be a good compromise
· 2.med adds scenery, eg terrain and custom objects
· 2.hi adds Autogen (trees, generic objects ) and basically reflects the entire scene, which costs a lot
Water 1.x thus just increases the shader cost and adds sampling from more textures as you move the sliders to the right. For modern hw, thats no problem.
Water 2.x needs a 2nd pass to generate the reflection. That means rendering the world a 2nd time into a texture as a render target. Which is an obvious performance hit.
And thats just for the 1st 2.x level.
Reading my list above, with Water 2.hi the shader and rendering cost is intense and directly related to full scene complexity. So having Autogen and Scenery to extremely dense coupled with Water 2.hi has a direct negative impact on performance. Water 2.hi, like our other 2 2nd pass features ( shadows, bloom ) basically cuts your FPS in half.
Water 2.med with Scenery complexity at extremely dense and Mesh resolution all the way right means that the 2nd render pass is going to cost a lot. Lower your scenery and mesh settings, though, and 2.med might not be such a FPS killer while adding a bit more visual quality.
Water 2.lo renders only the clouds and the skybox on the 2nd pass, and can be a very good compromise. And in general when over water its mostly the cloud reflections you see except at the shoreline. So this choice doesnt sacrifice too much visual quality and is FPS friendly.
Understanding this lets you make intelligent choices. Water 2.lo with high Autogen and high Scenery is much better than any other Water 2.x because 2.lo doesn’t render the terrain or Autogen.
You have to understand FSX and its performance as a Socratic, holistic thing across all the subsystems and how they interact. It’s really hard to use try a simple Aristotelian breakdown as a vehicle to understanding FSX.
Comments
Anonymous
June 09, 2007
Phil, I really appreciate this explanation! In my early testing (on the demo) I hastily concluded that 2x low and 2x med gave the same performance hit. When SP1 came out I tried 2x med but the hit was too much. Never bothered with 2x low. However, after reading your explanation I just tried it out with 2x low and it works quite well!Anonymous
June 09, 2007
The comment has been removedAnonymous
June 10, 2007
Phil - This kind of info is invaluable. It's one thing to tweak a slider and attempt to see a difference and another to have a basic idea of what is going on. Please continue this "series" of tips!!! Vic BaronAnonymous
June 10, 2007
The comment has been removedAnonymous
June 11, 2007
Surfsup: Glad to hear you are running good. To defend Defender for a moment, it seems hard to believe all these ills could be lain it its feet otherwise there would be a large hue and cry about it across the industry.Anonymous
June 11, 2007
im not taking sides here but i believe Surfsup maybe on to something, you see i had a few issues with Vista and i chose to do a full re-install, Windows Defender interfered with my Antivirus (Norton 07) on booting up for the firsrt time, Windows was telling me i had no antivirus software and nortons was saying everything was tickety boo, then i installed FSX and the SP1 patch and low on behold on my first flight i got an "out of memory" issue so i looked at windows defender and it was on, so i switched it off and have never had an OOM screen since, Specs :- E6600 @ 2.40Ghz 2 Gig PC-5300 Ram 8800GTXAnonymous
June 11, 2007
Thank you for your quick reply. I agree with Shel800521 that limiting the FSPs gives a far smoother experience but then again you have been preaching this as often as you are able. I agree with you that Windows Defender might install correctly on some computers but not all. I have an old Dell with which there is no problem with this computer running XP with all updates; but on my daughter's 3 year old Dell Laptop the same problematic issues also occurs with certain programs other than FSX. She does not have FSX. It seems to stop certain functions in some programs from working correctly. This is also true of my Vista 680sli configuration. Why this occurs on some computers and not others I have no idea. I used the same re-install procedures for each computer. Quick question will DirectX10 allow FSX, and other programs to access higher memory - above 2 megs, unlike DirectX 9?Anonymous
June 11, 2007
Silent: Interesting, but this blog is not the place to get into a Defender discussion, and I am the wrong person to have it with. Lets agree to not go there.Anonymous
June 11, 2007
The comment has been removedAnonymous
June 11, 2007
yeah sorry about that phil, not the right time or place lol :) Phil i thought that once SP1 was out the door you would of shut your blog down but you always put aside time to answer our questions, that for me is better than any "contact us" most developers use. Thanks againAnonymous
June 11, 2007
Surfsup: 20fps is good and 15fps is way above average at Kennedy Intl. it's bearable, with my settings set at max, i find the same result 15fps - 17fps. Try Dense autogen, 19m mesh complexity and 60cm texture resolution, same great visual quality as on max, however my frame rate increased to 28fps on approach, 27 on taxi and between 26fps and 28fps at the gates, i have TrafficX installed with traffic density set at 70%, the experience is mind blowing, especially an early morning approach in slightly foggy weather (ActiveSkyX and FSX Global 2008 provide an incredible dimension to fsx, after all my flight took 7 hours and i honestly enjoyed every minute of the scenery besides the foggy approach of course). Most tips and tweaks have been modified extensively by myself, i have run to date 116 tests and spent an equivilant of 2.5 hours per test which is about 12 days. I've developed a booklet of 63 pages on every single tweak and how it affects each and every aspect of the slider settings in fsx, obviosly too big to fit on this blog however i will try and provide the essentials early next week. just a hint though, from extensive testings on both Vista and Xp Machines. both the ATI and Nvidia cards were used, Intel and AMD CPU's, both single and multi core, overclocked rigs and super fast rigs, i found that XP provided better fps in some instances by 15%. Also try the XTreme-G 160[1].02 XP 32 bit drivers by TweaksRUs, great driver.Anonymous
June 12, 2007
Can you please tell me how many FPS were you getting at everything maxed out? Thanks a lotAnonymous
June 13, 2007
The comment has been removedAnonymous
June 13, 2007
Panos: this blog is not support.Anonymous
June 13, 2007
Phil, Does this mean that if we switch off effects there should be no problems with over 2 megs? One question, is it a waste of resources going below 1 meter in resolution? Now getting mostly 19 FPS in NY City with 19 FPS as limiter, with most set at max except no shadows or bloom and traffic adjusted. Now that's a simulator. I fly real planes once or twice each two weeks and it looks fuzzier from a real plane than it does in your program - great job. By the way my daughter learnt to read before she was 4 thanks to Sierra's Space Quest no click and point then you had to type and spell the clue and she was determined. So do I send you the invoice for her Ivy League education?Anonymous
June 13, 2007
Panos: Everything maxed out is not possible, can't measure a frame rate, to put it simply, with everything at minimum besides ai traffic & cars at 100%, bloom set on and autogen at extremely dense, no chance of even getting a 10 fps.Anonymous
June 14, 2007
The comment has been removedAnonymous
June 15, 2007
The comment has been removedAnonymous
June 15, 2007
Jordanal: getting D3DX fixed means the unsupported but widely mentioned way of users changing FSX to use more than 2G will work without risk of crash. we are investigating, and if we find it is indeed fixed we may mark the app ourselves, making this be a supported thing. the OOM problem is caused by the app running out of virtual address space, this is a way to increase the available va.Anonymous
June 28, 2007
The comment has been removedAnonymous
June 28, 2007
Tekhed: We have moved the balance point with SP1, true, but FSX is still CPU heavy. And yes that might have an impact on how much OC'ing one can do without heroic cooling measures or backing off on the OC amount. We will do more efficiency work in DX10, and newer CPUs with more GHz will help as well. The future is certainly not as dark as some wanted to view it last fall.Anonymous
September 22, 2007
Hi guys, i've read lots of reviews on that Dell XPS 720 H2c and they said that it can run FSX on absolute MAX settings and achieve 27FPS. Man i am so getting it.........