improving the Manual

In general, there aren’t good ways to measure the time it takes to render the Geoms alone. Panda only sends the render calls to the graphics driver, which renders the scene. There aren’t calipers inside the graphics driver to measure what it is doing (at least, none available to Panda). We can time the actual sending of the render calls, but that tells us very little about why it takes the time it does–is it too many vertices, too many pixels, or too many geoms? No way to tell just from one measurement.

To actually determine what is going on requires a bit of intuition and detective work. For instance, reducing the size of the window gives you one data point, by reducing the number of pixels without affecting anything else. If this improves performance, you know you have a bottleneck that’s related to pixels (either too much depth complexity or too complex a pixel shader).

Similarly, you can try calling flattenStrong() on a scene to reduce the number of Geoms without affecting anything else. (This only works on certain scenes, of course.) If this improves performance, you know you have a bottleneck that’s related to geom count.

As for skinning, if by this you mean the time Panda spends computing the vertices for animation, that can be read in PStats in the “*:Animation” category, with a separate entry for each differently-named character.

David