Thanks for the profile GUI, (and a brain-dump of ideas)

Carl Worth cworth at
Mon Aug 27 12:27:13 PDT 2012

Hi James,

With Eric's recent effort to implement support for GL_TIMESTAMP in the
Intel driver, I can now play with your recent work for visualizing
profile results in the apitrace GUI.

First, let me say a big, thank you! This is great stuff that we've been
wanting for a while.

I've got a bunch of things I'd like to add to this, and I wanted to
share my ideas with you. Some of these things might be things you are
already planning to do, and most of these you could probably do faster
than me anyway.

Here are some un-sorted thoughts:

  * The horizontal scrollbar in the timeline seems to be broken. It
    works if I click on it and drag it around, but it doesn't seem to
    update if I click in the trough to try to scroll one page at a

  * We really want a single "GPU" row in the timeline, (simply the union
    of all of the existing per-shader rows). This should be trivial to
    implement and would be extremely useful, (for identifying stalls and
    other bad interactions between CPU and GPU).

  * There's a lot of information that's available only in mouse-hover
    text. Some of that would be nice to put within the timeline bars
    themselves so that it just appears when zooming in enough, (in
    particular the duration of each call).

    Perhaps even use two rows of text for each timeline bar. Name on the
    first line, duration/etc. on the second line so that this
    information is viewable even before zooming in enough to see the
    full call name.

  * It would be nice to have time details on the horizontal axis. This
    could be in addition to, (or instead of), the existing frame labels
    on the horizontal axis.

  * I'd love to be able to see frame boundaries more easily regardless
    of the zoom level. A vertical line across the entire timeline at
    each frame boundary would be nice.

  * It would be great to have correlation between the timeline view and
    the events-tree-view in the main GUI window. Clicking on a call in
    either view could select/highlight that call in the other view,
    (perhaps also scroll to make it visible?).

  * Similarly, it would be nice if rows of the timeline were selectable
    and provided linked selection/highlighting of rows in the table
    below the timeline.

  * I can imagine keyboard navigation being useful. For example, left
    and right arrows could scroll to the next call in the timeline view
    for the currently selected row.

Anyway, that's a quick dump from my first few minutes of playing with
this, and is probably more than a small amount of work.

I know we want to be able to see adjacent CPU and GPU rows right
away. So unless that's something you're wanting to do immediately, I may
jump in and try to work on that myself. Please let me know your plans.

(For the remainder of the features, I probably won't be tackling any of
them immediately myself. I've got a bunch of other apitrace-related
things I want to do that are higher priority.)


carl.d.worth at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <>

More information about the apitrace mailing list