On Sun, Mar 11, 2012 at 7:00 PM, José Fonseca <jose.r.fons...@gmail.com> wrote: > On Sun, Mar 11, 2012 at 6:59 PM, Dave Airlie <airl...@gmail.com> wrote: >> (resend to include list, I only sent it to Jose by accident). >> >> On Fri, Mar 9, 2012 at 8:22 PM, José Fonseca <jose.r.fons...@gmail.com> >> wrote: >>> There are several new features in apitrace that deserve an announcement: >> >> I had an idea for a "feature" the other day but no idea how sane or >> useful it would actually be. >> >> I thought about trying to integrate callgrind and apitrace somehow, so >> we could instrument the CPU usage for a single frame of an >> application. >> >> I think we'd have to run the app under callgrind with instrumentation >> disabled (still slow) then enable it for the single frame. >> >> Just wondering if anyone else thinks its a good idea or know how to >> implement it. > > IIUC, you're looking for the ability to profile the app (and not the > GL implementation), for a particular frame, is that right? > > There is definitely interest in more profiling on apitrace: > - there have been some patches for GPU/CPU profiling while tracing > (see timing-trace branch) but I believe it is more useful to profile > while retracing > - there have been some patches for GPU profiling while retracing > (timing-retrace branch) but needs some good cleanup > - Ryan Gordon commited patches for CPU profiling while retracing > (commited, glretrace -p option) > > Concerning callgrind integration, I personally don't have much trust > in callgrind as profiling tool -- it emulates a CPU instead of > measuring one. It does so using JIT binary translation, which is why > is so slow. Lately i've been using linux perf with good results. > Either way, I don't know if there's any interface to start/stop > measuring or emit some marker from within the app being profiled. > > A full opengl wrapper like apitrace it's not necessary -- a LD_PRELOAD > library with just glXSwapBuffers is sufficient --, all that's > necessary is to start/stop/reset the profiler on that call. > > I think the hard thing here is really start/stop profiling programmatically. > > Jose
Actually it looks like linux perf has a facility to emit custom profiling events from whitin the app: http://lwn.net/Articles/415839/ A capability I saw in this interesting Intel presentation, which also used it with apitrace: https://events.linuxfoundation.org/slides/2011/linuxcon-japan/lcj2011_linming.pdf It should be possible to trim the perf events with "perf script" somehow Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev