I'm curious about the way GPA utilize to get the accurate time cost of each D3D function.
Does it use D3D query internally?
For Intel graphics devices, Intel GPA gets the timing information from the graphics device (through the graphics driver).
I sent you a private message with some additional details. If you need a follow-up to this, please don't hesitate to contact me for additional info.
Hi Neal, could you please post your reply to the OP here? I too am interested in how GPA gets the GPU timings, especially for non-Intel GPUs (like Nvidia). For example, does Intel GPA automatically insert performance queries before/after each draw/dispatch call?
I'm asking because in the course of using the profiler, I've noticed that the timings don't quite match up.
Here's some info that may answer your question from online help:
To compute an individual erg time, the Intel GPA Frame Analyzer brackets each erg with timing markers, while groups (such as render target regions) are calculated as a single unit so the hardware utilization more closely resembles the expected workload. Therefore, it is rare for the sum of the individual erg timings to match the total region time. Examining a frame you should use:
Hope this helps. If not, please provide more information about your specific configuration -- right-click on the Intel GPA Monitor and copy the "about..." info here, as well as some more details about the problem you are encountering.