Sign in to follow this  
honanhal

Terrible cloud performance

Recommended Posts

Hi guys,

 

Hoping someone can shed some light on this. I know what you're thinking: DX10 anti-aliases all cloud textures, worse performance. Open and shut. But I'm finding terrible cloud performance even with antialiasing disabled (and it's definitely off--it looks awful).

I switched to DX10 with the Fixer a little while ago looking for OOM improvement (which I've certainly found), not for visuals or performance. I'd happily take a decrease in performance, in fact, but something seems to be wrong with my setup somehow. I'm seeing incredibly smooth performance, even with PMDG aircraft, in situations with little or no clouds (I use ASN and REX clouds at 1024), even with tons of autogen and complex scenery. This is with frames locked in FSX at 30 FPS, running DSR with just 8x MSAA (no SGSS), cloud cull and cloud MSAA disabled in the Fixer. I noticed that when I got any substantial amount of clouds (not even full blanket coverage) on screen my FPS suddenly dropped to below 15, often to 10, making it pretty much unflyable. I was surprised, since I thought the big benefit of the move to DSR and MSAA only would be to dramatically improve performance in exactly those situations (as opposed to the SGSS I was running in DX9 that was always a performance killer), but instead I'm seeing much worse performance rather than better.

So to experiment, I tried disabling AA entirely, thinking maybe SGSS was somehow still on even though I'd disabled it in the Fixer and nVidia Inspector. Imagine my surprise when I found that only gained me one or two frames! I also went to normal non-DSR resolution and again saw almost no performance increase. It was still a slideshow.

 

Even with AA on, I noticed my GPU utilization peaks at around 40% (GTX 970) in heavy cloud. Is this normal and expected in DX10? Or is something very wrong here? I absolutely love the death of OOMs and the smoothness in general of DX10, but if I can't find a fix to cloud performance I think I'm going to have to go back to DX9.

 

To be clear: I understand that one solution would be to cut my ASN and cloud distance settings, which are aggressive, and have always been. But leaving aside the fact that I get better performance with those aggressive settings in DX9, what I'm even more interested in getting to the bottom of is why I seem to running into a cloud bottleneck that is completely unrelated to my GPU.

 

I should mention that I'm running an i5 overclocked to 4.5 GHz.

 

Hoping some of the DX10 experts can help figure this one out!

James

Share this post


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

Are you sure its clouds and not eg particle effects such as contrails? What effect options have you selected?

 

What do you get if you download Word Not Allowed's cloud test scenario from his Titan review?

Share this post


Link to post
Share on other sites

22 FPS in the cloud test scenario.

 

Effects are selected as light effects only and Shockwave lights excluded.

 

I do have the Precipitfx package installed, in case that makes a difference. But contrails being in the field of view do NOT seem to make a difference (unlike clouds).

Share this post


Link to post
Share on other sites

what do you get with dx9?

 

I have a 970 and a i5 3570 that isn't over clocked so 3.4 ghz

 

With a 1920 x1200 monitor

 

8x CSAA plus sssgaa in Nvidia inspector for dx10

 

Cloud density at max, cloud draw @ 90 miles

 

Rex essential plus all clouds 1024x1024

 

Frame rate unlimited no vsync set

 

Dx10 with fixer, discard fogged and cloud clip set, 45fps

 

Dx10 with fixer no cloud settings 33 fps

 

Dx10 no fixer 33 fps

 

Dx9. 4xAA and sssgaa. 25fps

 

No DSR in any of these I have never had any success with it,

 

I am a bit suspicious of those figures - as I recall tests used to show dx9 a bit better than native dx10 and with the fixer options pulled it ahead of dx9. I am surprised by the results, need to check sssgaa was properly working in dx10 but as far as I know it was.

Share this post


Link to post
Share on other sites

Steve,

 

Thanks. I can try DX9 tonight--since I haven't switched back from DX10 yet after getting the Fixer, can you let me know exactly what I should do so as not to either mess anything up permanently? Switch the fixer to DX9 mode, is that it? Anything with the effects?

 

Occurs to me that AI air traffic was on for me--I'll disable that too just in case to make this more apples to apples.

 

Thanks,

James

Share this post


Link to post
Share on other sites

Retested with 110 miles clouds. And double checked sgss was ok.

 

Dx10 with fixer plus recommended cloud settings as above 32fps

Dx10 with fixer with no cloud settings same as native dx10. 28. Fps

Dx9 17 fps

 

Just switch to dx9 using the fixer it removes all effect changes and restores when you switch back.

 

I am surprised over the poor dx9 performance but I don't think I have ever measured using the 970 card before.

Share this post


Link to post
Share on other sites

Steve, something is very strange because we appear to be getting flipped results! Anyway, my testing results below.

 

Basic settings:

1920 x 1200 monitor

Frame limiter set to 30 fps inside FSX

VSync on

Cloud density at max

Cloud draw distance 110 mi

Rex 4 clouds at 1024

 

In addition to Word Not Allowed's clouds test, I'm using my own "test" that is a saved flight PMDG 777 cockpit view over the Caspian Sea with broken overcast (wanted to attach a screenshot, but not possible with Avsim's forum-- it's significant overcast but by no means a full blanket cover) which is what I noticed triggering unexpectedly poor performance in DX10. Happy to provide the situation files for that if you have the PMDG 777 and it would be helpful.

 

Anyway, here are the results of the two tests:

 

Word Not Allowed's Clouds Test

 
DX9, no DSR, no AA, no SGSS: 27
 
DX9, DSR, no SGSS, 8x MSAA: 26
 
DX9, DSR, 2x SGSS, 8x MSAA: 15-24 (HUGE stuttering)
 
DX10 with Fixer, cloud clip set, DSR no SGSS, 8x MSAA: 22
 
 
PMDG Test
 
DX9, no DSR, no AA, no SGSS: 28
 
DX9, DSR, no SGSS, 8x MSAA: 23
 
DX9, DSR, 2x SGSS, 8x MSAA: 23
 
DX10 with Fixer, cloud clip set, DSR, no SGSS, 8x MSAA: 13
 
 
(Preliminary) conclusions: with the possible exception of the DX9 SGSS Word Not Allowed test, I'm seeing much better DX9 results across the board, even with much higher antialiasing settings. This is especially pronounced in the PMDG scenario, where there's a 75% increase in performance by going from DX10 without SGSS to DX with SGSS. That seems crazy! Something can't be right...
 
Again, what struck me when I was playing with DX10 yesterday was that changing the Inspector image quality settings had virtually NO impact on FPS--the difference between 2x SGSS and DSR and native resolution no AA at all was only 3 FPS or so. Mostly uninformed speculation on my part: maybe that makes sense if we assume that the GPU is barely taxing itself in all those DX10 scenarios -- which would be great! -- but if that's the case why is the performance so terrible across the board? Some kind of CPU bottleneck that's not happening in DX9? Or something about how FSX DX10 works is somehow not pulling full performance from the GPU?
 
Really scratching my head. Again, I desperately want to make DX10 work because OOMs were becoming such a headache, but with this kind of performance gap it ain't happening.
 
Hope you have some ideas!
 
James

Share this post


Link to post
Share on other sites

The first thing to do is reproduce my tests exactly

 

I didn't use DSR for example, I didn't use vsync and I didn't use a frame rate limitter.

 

The sgssaa setting must match the msaa setting to work properly so 4x with 4x. 8x with 8x

 

Make sure that you have discard fogged selected as well.

 

So if you look at my first 4 tests with 90 miles what do you get?

Share this post


Link to post
Share on other sites

DSR is an alternative to MSAA and SGSSAA you shouldn't mix them as you are trying to super sample on top of super sampling. I imagine the drivers are taking different approaches the dx9 one gives up perhaps and does just one whilst dx10 does something different

 

Anyway ignoring DSR I ran dx9 tests for you

 

Word Not Allowed

 

No clouds no AA. >200 fps. ( very hard to read )

 

No AA 110 miles 20 fps

No AA 90 miles. 32 fps

 

Consistent with you I think as my CPU is much slower. In these two i guess it was CPU bound

 

 

8xQ Msaa I am guessing this is what you mean @ 110 14 fps

8xQ msaa @ 90. 20fps

 

we see a reduction and there is no change from CPU viewpoint so now certainly GPU bound

Performance degrades as we add AA the amount of clouds distance has an impact as expected.

 

8xQ + 8xSgssaa @ 110. 11fps

8xQ + 8xsgssaa. @ 90. Too erratic to decide

 

In these two I don't think the fps was telling anything useful. As it was badly stuttering

 

These results all look plausible

Share this post


Link to post
Share on other sites

OK, here's the results of the tests using your exact settings (DSR off, no vsync, 90 mi cloud distance):

 

Word Not Allowed AA
 
Dx10 with fixer, discard fogged and cloud clip set, 22-26
 
Dx10 with fixer no cloud settings, 18-24
 
Dx10 no fixer ? (wasn't sure how to turn off the fixer?)
 
Dx9. 4xAA and sssgaa (I used 4x4 supersampling and 4x SGSS, not sure that was right?), 24-26
 
 
PMDG
 
Dx10 with fixer, discard fogged and cloud clip set, 17-24 fps
 
Dx10 with fixer no cloud settings, 24-28
 
Dx10 no fixer ?
 
Dx9. 4xAA and sssgaa, 31-36

Share this post


Link to post
Share on other sites

Ignore this pmdg example for now

 

To run without the fixer just uninstall the Libraries

 

So those results although different to mine look consistent with what I would expect from past experience. Dx9 is slightly better than base dx10 and the fixer settings makes them comparable.

 

Now run the other dx9 tests.

Share this post


Link to post
Share on other sites

Thanks, Steve. Headed out of town for a few days but when I'm back early next week I'll run the DX9 tests and report back.

 

And just to be clear: the reason I keep coming back to the PMDG test is that something about it--whether it's the PMDG cockpit or the type of clouds present in that scenario--seems to be hammering performance in DX10 (but not DX9) in a way that even Word Not Allowed's stress test doesn't (and in a scenario that's much more typical of my flying). But happy to start with the results on Word Not Allowed's test if that helps illuminate what might be going on.

 

Thanks again,

James

Share this post


Link to post
Share on other sites

That's fine, the original post was about general cloud performance hence my approach. If there is a specific issue with the 777 what happens if you switch to another aircraft?

Share this post


Link to post
Share on other sites

Thinking more, reading what you say and looking at the Word Not Allowed results I think that clouds are a red herring here.

 

Can you check in Rex that you have the right options for dx10? - dx10 optimised and especially make absolutely sure that wave animation is set to DXT1 and not 32 bit.

 

Using 32 bit wave animation in dx10 which uses many more textures is a huge frame rate killer that gets worse with complex aircraft at high altitude over water. Then update your textures.

Share this post


Link to post
Share on other sites

Steve, I'm not seeing an option for wave animation as DXT1 vs. 32 bit in my REX (I did make sure it was dx10 optimized). I'm using Rex Xtreme 2.5--looks like from 2010? Sorry, I guess antiquated but I'd never had any problems with it...

 

Does that mean the wave animation (I'm using "Use this!") is DXT1?

 

James


Just tested with the water shader set to Low 1.x and suddenly my DX10 performance is roughly on par with DX9. So you may well be onto something here.

Share this post


Link to post
Share on other sites

What are the sizes of the following files which I think are in scenery directory?

 

OceanHeight20FieldHigh.dds

OceanHeight20FieldLayer.dds

OceanHeight20FieldLayer1.dds

OceanHeight20FieldLayer2.dds

OceanHeight20FieldLayer3.dds

OceanHeight20FieldLayer4.dds

OceanHeight20FieldLayer5.dds

Share this post


Link to post
Share on other sites

OceanHeight20FieldHigh.dds: 292kb
OceanHeight20FieldLayer.dds: 5.33 MB
OceanHeight20FieldLayer1.dds: 5.33 MB
OceanHeight20FieldLayer2.dds: 5.33 MB
OceanHeight20FieldLayer3.dds: 170 kb
OceanHeight20FieldLayer4.dds: 170 kb
OceanHeight20FieldLayer5.dds: 5.33 MB

 

Hmm...guessing that's not a good sign these are DXT1 (except maybe High, 3, and 4). I will make backups and try converting them in DXTBMP to DXT1 and report back.


Ok, so looks like converting them all to DXT1 did not give me a performance improvement.

 

Not exactly a solution, but if I keep water at Low.2x performance is fine. There are white flashes, of course, but that may be ultimately a small price to pay.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this