I’m using ProfileGPU and “stat unit” for profiling, but I noticed that their GPU information doesn’t seem to match. The amount of GPU time “stat unit” reports is in the 13 ms range, but when I add up the top-level timings in Profile GPU, they only add up to 6 ms. Does anyone know why that would be? It seems like they should be almost identical, but maybe I’m missing something? Thanks!
Here’s a screenshot.
Ignore the missing texture checkerboard; that’s an unrelated bug that’s already reported:
‘stat unit’ GPU time includes idle time on the graphics card, which happens particularly if one of the other threads is the bottleneck, like the Draw thread. There’s a bug where the Draw time in ‘stat unit’ shows up as nearly 0 in the editor only which hides it. So I’m guessing this is the case. To investigate rendering thread performance use ‘stat dumpframe -ms=.1’
The ‘profilegpu’ GPU time is more accurate as it effectively removes GPU idle time, so you’re getting a measure of how long the GPU was busy rendering the scene.
Ahh, I see. So you’re saying that my timings in the example above are actually probably more like this?
Frame: 13.35 ms
Game: 7.15 ms
Draw: 13.34 ms
GPU: 5.73 ms
Thanks!
Oh, and is there another thread where I can track the status of the stat unit Draw bug?