Welcome to the new apitrace mailing list

Zack Rusin zack at kde.org
Wed Aug 24 14:53:13 PDT 2011


On Wednesday, August 24, 2011 03:55:08 PM Carl Worth wrote:
> On Tue, 23 Aug 2011 06:28:16 -0700 (PDT), Jose Fonseca <jfonseca at vmware.com> 
wrote:
> > I look forward to hearing what ideas you have.
> 
> ...
> 
> > FYI, the enhancements/issues that I'm aware are in mostly tracked in
> > https://github.com/apitrace/apitrace/issues or
> > https://github.com/apitrace/apitrace/blob/master/TODO.markdown
> 
> Thanks for sharing those.
> 
> Most of my current ideas/plans are hinted at already in a couple of
> existing items:
> 
> 	* Ability to extract just a single frame from a trace, and all
> 	  previous calls that contributed to it:
> 
> 	* Timeline view
> 
> It's good to see we're thinking along some of the same lines there. So
> consider my hand raised to start working on those things.

That sounds great. I think whichever one you'd like to tackle would be great. 
I'd just create a branch and start hacking :)

> B. Implement UI for extracting one or more frames to a new trace

You probably want to do it outside ui initially. Extracting frames/calls is 
rather trivial but making the resulting trace self-contained is rather 
difficult. Jose has a fair bit of code to handle state fetching (mainly in 
glstate.py, glstate.hpp and glstate.cpp) but mapping it to state setting is 
going to be interesting. I think it's going to be easier to test this stuff if 
you don't have to start the ui every time.
You either would want a new tool or add code to extract frame(s) to glretrace.
 
> C. Instrument replay tool to analyze dependencies of graphics operations
> 
> D. Optimize replay with dependency information to replay as little as
>    necessary [C]
> 
> E. Optimize extraction with dependency information to extract as little
>    as possible [B,C]
> 
> F. Capture timing information during replay
> 
> G. Augment captured timing information with performance counters [F]
> 
> H. Augment UI to display captured timing information [F]
> 
> I. Add timeline visualizing drawing operations each relatively sized by
>    execution time [F]
> 
> J. Add UI to timeline so that clicking on a drawing operation highlights
>    the result of that operation in the rendered frame [I]
> 
> K. Add UI to extract one or more drawing operations to a new trace,
>    (sub-frame extraction) [I]

These all sound great.

> L. Add mode to ApiTrace to dump a sequence of rendered images
> 
> M. Add mode to ApiTrace to do exact image comparisons of each frame
>    with existing reference images [L].

These two are already possible. You just run glretrace with -s parameter which 
dumps snapshots for each frame. And in scripts directory there's a snapdiff.py 
script which can compare snapshots and produces an html page with the results. 
We should probably add more extensive documentation to apitrace to document 
some of those things, right now there's just a section on how to record a 
movie using the -s parameter.

z


More information about the apitrace mailing list