Jump to content
Sign in to follow this  
boez

Selecting Ultra water detail setting causes P2 state lock-in on nvidia drivers?

Recommended Posts

A little tidbid in a reply from Beau B) :

 

The best way to compare performance would be:

1) max out water slider
2) turn down everything else.
3) Make sure the sim isn’t paused and turn off frame limiting
4) Save a flight in the middle of the ocean or desert

Note that the wave simulation will run each frame regardless of if you’re close enough to the water to notice. If you want to see the waves, you’ll want to save your flight over water and keep the dem resolution on 1m and the tess factor reasonably high. The actual rendering of the waves is done through our standard tessellated terrain shader and does not itself rely on compute or cuda though so you don’t actually need to see the waves to test the perf difference. As long as the frame time is relatively consistant with whatever settings you’re using and you’re not CPU bound, it should be fairly strait forward to calculate the time difference between the two modes.

I believe compute shader broadcast is enabled in our SLI profile now, so the compute based waves may actually play nicer with SLI. I haven’t had a chance to test it yet.

One of the main reasons we turned on CUDA by default is that we were seeing occasional crashes in the compute version when during loading after certain settings changes. The crash was happening inside a microsoft Compute FFT library that which Triton relies on for the Compute version of the waves. I’ll log a ticket to look into this for v3. I suspect this issue may already be addressed in newer Triton builds.

 

Beau Hollis
Prepar3D Rendering System Lead

Share this post


Link to post
Guest

It's nice to get this kind of information.  Very interesting finding ... 

 

Cheers, Rob.

Share this post


Link to post

Hi Jay

 

Yes it is possible to do this and I spent time running like that before I thought 'why should I need to do this?' and hence started this thread.

 

You simply select the P2 drop down box in the NI overclock page and change as desired. By doing so you can get as high as P0 default values. BUT I've no idea whether P2 slows down any other part of the GPU other than clock speed and so a answer from LM was preferable.

 

A.

My EVGA SC GTX 980 Ti has virtually identical settings for both the P0 and P2 states:

Field	Value
Graphics Processor Properties	
Video Adapter	nVIDIA GeForce GTX 980 Ti
BIOS Version	84.00.32.00.90
BIOS Date	5/27/2015
GPU Code Name	GM200
PCI Device	10DE-17C8 / 3842-4992  (Rev A1)
Transistors	8000 million
Process Technology	28 nm
Die Size	601 mm2
Bus Type	PCI Express 2.0 x16 @ 1.1 x16
Memory Size	6 GB
GPU Clock	135 MHz
RAMDAC Clock	400 MHz
Pixel Pipelines	96
Texture Mapping Units	176
Unified Shaders	2816  (v5.0)
DirectX Hardware Support	DirectX v12
WDDM Version	WDDM 1.3
	
Memory Bus Properties	
Bus Type	GDDR5
Bus Width	384-bit
Real Clock	202 MHz (QDR)
Effective Clock	810 MHz
Bandwidth	38.0 GB/s
	
Architecture	
Architecture	nVIDIA Maxwell
Streaming Multiprocessors (SMM)	22
	
Theoretical Peak Performance	
Pixel Fillrate	12960 MPixel/s @ 135 MHz
Texel Fillrate	23760 MTexel/s @ 135 MHz
Single-Precision FLOPS	760.3 GFLOPS @ 135 MHz
Double-Precision FLOPS	23.8 GFLOPS @ 135 MHz
	
Utilization	
GPU	0%
Memory Controller	4%
Video Engine	0%
Dedicated Memory	147 MB
Dynamic Memory	32 MB
	
nVIDIA ForceWare Clocks	
Level #1	GPU: 405 MHz, Memory: 405 MHz
Level #2	GPU: 405 MHz, Memory: 810 MHz
Level #3	GPU: 595 MHz, Memory: 3304 MHz
Level #4	GPU: 595 MHz, Memory: 3505 MHz
	
Graphics Processor Manufacturer	
Company Name	NVIDIA Corporation
Product Information	http://www.nvidia.com/page/products.html
Driver Download	http://www.nvidia.com/content/drivers/drivers.asp
Driver Update	http://www.aida64.com/driver-updates

Share this post


Link to post

(I intended to post this on LM’s forum but seem to be having issues logging in there).

 

Can anyone else confirm that when Ultra water detail level is selected the nvidia driver P-State drops down to P2 level - GPU-Z or Nvidia Inspector can be used to check for this.

 

On my hardware (see below) this issue exists on both my Windows 8.1u1 and Windows 10 dual boot. These were both fresh installs with no other software except Prepar3d. Zero tweaks and addons.

 

The issue is repeatable and happens either if changed when running or before starting the App after editing the config file. Dropping the setting from Ultra to any other level sees P0 restored. It seems to be independent of any other setting, tessellation level, LOD, etc. Selecting ‘Prefer Maximum Performance’ in NI has no effect either.

 

On Windows 10 the CPU usage also goes to 100% on all 4 cores although this is not the case with 8.1.

 

P-State level P2 means that the GPU is only running at around 80-90% of its potential and so is a big performance hit on top of what might be expected for clicking the slider one more position to the right. This means lower base clock speed, boost will not kick in and VRAM memory speed is limited to 3000Mhz rather than 3500Mhz. Also any GPU overclocking - which is usually setup for P0 state - will not see the benefit while in P2.

 

If you are running Ultra water may want to check this out as I have been doing so since purchasing the 980GTX and thus have not being using it to its full potential!

 

4790K @ 4.8/46

980GTX

Windows 10 - driver 352.84

Windows 8.1u1 - driver 353.06

 

-

-

I can confirm that the bug still exist in windows 10 with latest drivers nvidia drivers 355.60 on GTX 980 with ULTRA Water Setting can be clearly observed on gpuz have to restart the sim to fix the problem with water high settings. Any Fix yet?

 

Regards

Share this post


Link to post

Workaround as posted on the LM forum. Been using this successfully with Win10.

 

Post:

When Ultra water is enabled, the 3D waves are enabled. The 3D wave simulation relies on CUDA when using NVidia hardware. My guess would be that either:

a) In the case of using CUDA and Rendering pipelines in the same app the driver drops the level to reserve resources for CUDA

b) The level drop is a because our water simulation does not build against the most current cuda libraries.

 

When last I tested, the cuda based wave simulation was faster than the Direct Compute version (which is used by any cards lacking cuda support). If you want to try using Direct Compute, you can do the following:

1) Open File: Prepar3D v2\TritonResources\Triton.cfg

2) change “disable-cuda = no” to “disable-cuda = yes”. This should be around line 128.

3) Try to fight the urge to tinker with the rest of the config options.

4) If you fail at step 3, please back up your config file first. It’s very easy to break the water or even cause crashes by changing settings in this file because we only use a small subset of the Triton library and we modified the source to disable features we’re not using.

 

Beau Hollis

Prepar3D Rendering System Lead

Share this post


Link to post

Just a heads up for those using V3, the P State issue is well, still an issue.


i7-13700KF, 32gb DDR4 3200,  RTX 4080, Win 11, MSFS

Share this post


Link to post

Hmm...good to know. Thanks Dave. I'll have to confirm this when I get back.

 

Have you make a note on LM's forums?

Share this post


Link to post

I sure did Dylan. Would be nice to get this squared away and have our cards using the Cuda cores in P3d.


i7-13700KF, 32gb DDR4 3200,  RTX 4080, Win 11, MSFS

Share this post


Link to post

Thanks Dave - can confirm this as well. I'll add to your post on the P3D forums...

Share this post


Link to post

Wow that's strange, as OP I was just about to update this thread and say it's now fixed! I'm seeing P0 state correctly maintained - this is with a complete SDD format, Win10 64 pro, latest nvidia drivers and V3 but zero hardware changes. I'm going to recheck when I'm back from this trip...

Share this post


Link to post

I have also P2 with my GTX980 in SLI, but when I try the workaround from LM, I have a 8 fps decrase, but p-state is 0


Patrick Tinner

Share this post


Link to post

I have also P2 with my GTX980 in SLI, but when I try the workaround from LM, I have a 8 fps decrase, but p-state is 0

That could be due to water calculations now being performed on the CPU (due to the workaround) however it seems a huge drop. What's your processor?

Share this post


Link to post

Really strange. I'm running a 980 on Win 10 with the 358.50 drivers, and can see a throttle-back of the memory clock with CUDA enabled in the triton.cfg. 

Share this post


Link to post

Really strange. I'm running a 980 on Win 10 with the 358.50 drivers, and can see a throttle-back of the memory clock with CUDA enabled in the triton.cfg.

An alternative to the workaround is to leave cuda enabled, i.e. default triton.cfg and then overclock P2 clocks to P0 levels. *I guess this is not really overclocking as you don't exceed what would normally be happening with P0.

 

You need to use a command line call to nvidia inspector to do this as the 'save overclock shortcut' in its GUI only saves P0 state...

 

Also if you want to go beyond default P0 for a genuine oc you need to set P0 first otherwise P2 won't exceed those values (had me confused for ages!)

 

I've a sample cmd file for anyone interested.

Share this post


Link to post

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  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...