Per-surface calls list

Eugene Velesevich eugvelesevich at gmail.com
Fri Apr 12 12:36:57 PDT 2013


2013/3/27 José Fonseca <jose.r.fonseca at gmail.com>
>
> The proper fix however requires a deeper change in qapitrace -- for
> multithreaded apps, frame start/end should be tracked per thread, and
> not per process.
>
> Jose

Hello again,

For the purpose of trace visualization in QApitrace, I think it is better to
track calls and frames per drawable (not per context or per thread).

I have a patch implementing per-drawable call lists in QApitrace (except for
DirectX), however there are the following concerns, and I'd appreciate your
advice.

1.  I'm afraid one cannot track DirectX calls in the same way, since it is
an object-oriented API and some functions don't relate to a context object.

2.  A context bound to drawable B could have been previously modified by GL
calls (set shaders, etc) while bound to some other drawable A. In that case, a
user will not see those calls in drawable B call list and will need to find
them in call lists related to other drawables.

3.  Modification of profiling gui will be required. I guess individual
timelines are required for every drawable.


More information about the apitrace mailing list