Realtime GPU profiler?

We have made our own functioning, but crude, realtime gpu profiler and we’re determining how much time we should spend on it, considering there’s seemingly something in the pipeline by Epic:

Says completed for 4.13, but we didn’t see anything about it in the 4.13 preview notes from last week.

Will this be in 4.13 release?

What kind of capabilities will it bring? Will it be something like the current “ProfileGPU” command, but updated in real time? Or are there more features/capabilities being introduced?

Hi Bjarni,
Right now it’s a fairly basic timing profiler. The results are displayed as a flat list and are processed using the stats system just like CPU timing stats. We made it non-hierarchical in order to support GPU timings which might be spread across one or more views.

The initial version of this will be in 4.13 but it’s disabled by default (via a cvar). We’re planning to improve the performance of the stat gathering and the accuracy of the timings for 4.14, at which point it should be enabled by default.

The current implementation can be affected by GPU bubbles, where the GPU is starving waiting for commands. That can skew results in CPU-bound situations. On platforms which support native commandlists, we should be able to fix those issues, and we intend to address that in 4.14.

The profiler was submitted to our rendering development stream in CL 3046088 if you want to have a look. To enable, you can use r.gpustatsenabled 1. To view the GPU stat group, use “stat gpu”. This is what it looks like currently: