I'm trying to profile a d3d11 application using queries (pretty much exactly as described here).

I noticed something strange with the data I was getting from the queries and I think I managed to isolate the issue: enter image description here

The green line (Cpu) represent the time between two consecutive swapChain->Present, while the blue one represents the time to complete some gpu work for the current frame (measured using queries as explained above). The GPU work is always the same, however, as the time interval between two Present becomes bigger, the measured GPU time increases too.

I guess this could be a way to reduce power consumption, however, I don't know if that's the case. Is this something you'd expect from the GPU?

Is there a way to prevent this from happening?

EDIT: Apparently, this is the answer to my question (at least on NVidia GPUs): https://developer.nvidia.com/blog/advanced-api-performance-setstablepowerstate/ enter image description here



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.