Hi Robert,

The times taken are strictly graphics pipeline times.   That is, we are not measuring anything on the CPU.  Begin/End tokens are placed into the pipeline and then queried at end of frame.  Actually, I've double buffered the output so that we don't stall the draw process waiting for the tokens at the end of each frame, but rather query the tokens from the previous frame at the end of each frame.   The tokens are like clock->ticks() from a GPU clock.  Values returned are the delta between the begin and end tokens in nanoseconds.  The PipeTimer class converts these to your favorite measurement unit.  In the example, I think I'm requesting milliseconds. 

We don't have a clean way, unfortunately, to synchronize the GPU times with the CPU bound timer, so we can't place the GPU measurements as an offset of CPU frame times.   If we could, this would give us a insight on Dispatch latency as well, which would be really, really useful information.  My initial conversations with the NVidia guys, however, result a bit in a lack of communication about this and an exortation to just trust that they are doing the right thing under the hood.  I'm thinking that a combination of measuring times between GLXWaitVideoSyncSGI and GPU clock ticks a "best guess" approach at synchronizing clocks.  THese are bound to drift significantly, though as well.

ITs a start...

-don

On 8/24/06, Robert Osfield <[EMAIL PROTECTED]> wrote:
Hi Don,


On 8/24/06, Don Burns < [EMAIL PROTECTED]> wrote:
I've not yet upgraded, so I'm a rev behind you (87.56).  So, just to ask the dumb questions first:  Are you turning on Stats with the 's' key?  Does it make a difference if you run single pipe?

Ahh, I was didn't pick up needing to enable stats to, just looked at the output to the console and thought the results were going to always be valid...

Switching on stats does indeed produce the non zero values.  The values are suprisingly low relative to the draw dispatch on my larger models, suggesting we a still heavily CPU bound.

What exactly are the measurements?  Just the time taken to process the primitives down on the GPU?  Or time take between the tokens getting put into the OpenGL fifo and when they finally get completed down on the GPU?

Robert.

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to