Using the main graph window

Overview

This article will cover the interface and describes how to control whats being displayed in the tool.

In the main graph window:

  • Left click & drag pans.
  • Right click & drag zooms.
  • Right click & drag left / right scales the view horizontally.
  • Right click & drag up / down scales the view vertically.
  • Right click & drag top right / bottom left with scale both horizontally & vertically at the same time.
To reset the viewport, go to View\Fit To Frame Records. Use this if the data is off screen because you have zoomed in too much.

Because there are typically many more frames in a log than can easily be shown at once, only a subset of bars are displayed when zoomed out. This is indicated by the bars being rendered at 50% opacity.

The bars displayed are actual frames, rather than a composition of several frames with values averaged. The ones chosen are the tallest (for profilers, of course this is longest) of the range that they represent. This makes it easy to identify rare spikes even when zoomed out.

Function Profiling is enabled via e_StatoscopeDataGroups r+

Notice the compacted bars being rendered at 50% opacity

The transition pictured is the result of a very small change in the X zoom at the tipping point. Further zooming out would have decreased the bar widths until they reached the minimum size again, at which point the next lod level would have been used.

Clicking on a bar will select that entry in the Function Profile tree view tab. Focus is also moved to the tree view, so you can press space to untick and hide that bar quickly.
Useful for getting rid of profiling noise, such as MT's EndFrame sync, or irrelevant function spikes - for each bar in turn that you want to get rid of, click on it and press space.

Hovering

A vertical red line clips to the nearest frame and a tooltip will follow your cursor over the window, giving details about nearby items:

  • The top line shows, for the current frame:
    • frame number.
    • game time (or 0 if not available).
    • current y-value in plot space.
  • The Second line details what item you're hovering over (if your mouse is covering 2 or more items, they will also be listed here).
  • The third line details the time its taken in ms.

Axes / target lines

On the left and right hand sides are colored numbers that correspond to horizontal lines across the plot window. These are for easy visual comparison with targets.

For instance, in the screenshot below, FPS markers are displayed on the left and draw calls on the right. You can specify which target lines are displayed in Target lines in top right tab group (see below).

X Scale

This is controlled by a radio button in the top right. Changing it will reset the view to fit the window.

By default, the x-axis is linear in number of frames. This is a useful default for function profiling as it makes all the bars have the same width.

However, sometimes it is more meaningful to have it linear in time instead. There won't be a big difference unless the framerate is changing significantly.

Y Scale

It is useful to be able to compare stats of hugely different sizes, such as RT load (10s of ms) and number of draw calls (1000s).

So that the lines aren't a long way apart, some of the larger valued stats (e.g. draw calls, tri counts) are artificially scaled when plotted. The values you see in the tooltip will still be the original, un-scaled ones.