Hi, since performance monitors are almost never used, we want to avoid the startup cost associated with setting up the group information. This mostly affects Gallium, where that initialization is rather inefficient right now.
For radeonsi with my performance counter series, the first two patches shave off almost 200ms from the time taken by glxinfo. The last patch is a smaller win on top for radeon only (harder to measure, in the single-digit ms range at most). (The remaining overhead for radeonsi in enabling performance counters vs. not doing so when unused is not measurable with a naive use of `time` on the command line.) The 200ms are actually largely caused by the fact that the state tracker queries the driver very rather inefficiently, with the time of initialization being proportional to # groups * # driver queries rather than proportional to # driver queries (and then, inside of that, yet another inefficiency in the radeon driver). It would certainly be nice to improve that as well, but even with such an improvement, it's time we don't need to spend in the vast majority of cases, hence the approach I've taken in these patches. Please review! Thanks, Nicolai _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev