Jump to content
  • Advertisement
Sign in to follow this  
SeeMe

[PIX] Help interpreting PIX result.

This topic is 2782 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

When my application goes into full screen state my movement is not smooth, seems like frames or not rendered in the correct order, doing something like : 1 - 3 - 2 - 4 - 6 - 5 - ...
It makes the move "flicker"

For my PIX test, I draw really a low number of primitive (1140 triangle exactly) inside 6 VB + IB

I clearly see a difference in the GPU frame "ordering" in PIX :

Here is the result when in windowed mode :

PIX2.png


You can see that the GPU time needed for the frame is nearly in sync with the CPU time needed to generate it.

But in full screen state here is what I got (same scene, withtout camera move) :

PIX.png


You can see, that each GPU frame processing are splitted, and the GPU doesn't wait the end of a frame for starting another one.
Do you know what can be the cause of this ?

Tx you for your help !

Share this post


Link to post
Share on other sites
Advertisement
This is standard driver behavior when your application is GPU-bound. The driver will allow you to submit a number of frames until it blocks your thread on Present, so that your app has a higher tolerance for spikes in the CPU frame time. If you're using D3D10/D3D11 you can query and change the number of frames through IDXGIDevice1::GetMaximumFrameLatency and IDXGIDevice1::SetMaximumFrameLatency,

Share this post


Link to post
Share on other sites
Tx you very much !

And it also seems that in this case from time to time, "CPU frame" are dropped by the driver (Making move not smooth), event if my FPS is at 60fps.

Indeed it is a DirectX10 application. But what I don't understand is that my application is GPU bound in full screen, while in windowed mode it is not !

And worse, it is GPU bound with only somethings like 4000 triangles and very simple position, texture shader !

For the test, I use a backbuffer with the same size in windowed and fullscreen, it means that the qt of work for the vertex shader and pixel shader is the same (Same qt of pixel to render in the shaders).

Tx again for the information.

Share this post


Link to post
Share on other sites
After weeks of investigations I found the problem : Nvidia DX10 driver are really a mess !!!!

=> Tested my application with ATI = No problem
=> Migrated to DX11 => No problem at all ! (Instead of a gpu "bound" in full screen, my gpu now is idle 95% of the time !!)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!