Skip to content
baldurk edited this page Apr 12, 2014 · 1 revision

Profiling support in RenderDoc is currently almost non-existant. This should change :).

At the moment the profiling is limited to clicking 'time' in the event browser to get per-drawcall timings. While this is fairly decent and should stay (at least having that time), we really need dedicated windows and UI for profiling.

The main portal into profiling information that I'm imagining will be a separate window with profiling information displayed as a bar graph, with the ability to run different analyses for different hardware timers. We'll need some way of querying for which timers are available, some will be available by standard on any hardware, but most of the interesting ones I believe will be IHV specific.

On top of this we can pre-package different experiments to make changes to the pipeline either for a draw, series of draws or across the frame. Anything from the classic "1x1 viewport", "1x1 textures", "nop pixel shader" to more complicated tests.

The organisation would be similar to the timeline bar as it stands - the frame would be laid out horizontally with free ability to zoom in and out. Individual drawcalls would be shown as bars on the graph, with markers initially coalescing to a single bar, but with the ability to expand to show its children. This tree though would grow upwards from the bottom rather than down from the top.

The bars would show the different values that have been selected - for example shader use, vertex count, etc. Vertically it would be scaled depending on the value that it shows, horizontally the bars would be scaled by their duration.

Some of this concept might seem familiar :). I think this design is a good one and I wouldn't be surprised if it's been done before somewhere, I don't claim this is original or unique - just that I think it's a good design.

Clone this wiki locally