gogh0
07-03-2008, 07:38 AM
Tested with a 8800ultra, driver 175.51.
Considering this simple test, there is something wrong with the extension and/or the glFlush implementation :
glBeginQuery(GL_TIME_ELAPSED_EXT, id);
// Here you can draw any primitive glBegin()/glEnd(), but it is not required to show the problem
glFinish(); // Needed for the proof of concept, we need to force glBeginQuery() and glEndQuery() to be in separate command buffers
glEndQuery(GL_TIME_ELAPSED_EXT);
glFlush();
// Now, we normally can do anything without influencing the timer... BUT, this is not the case...
Sleep(777);
glFinish();
The problem is that the time of the Sleep call (here 777ms) is included in the query time!
Considering this simple test, there is something wrong with the extension and/or the glFlush implementation :
glBeginQuery(GL_TIME_ELAPSED_EXT, id);
// Here you can draw any primitive glBegin()/glEnd(), but it is not required to show the problem
glFinish(); // Needed for the proof of concept, we need to force glBeginQuery() and glEndQuery() to be in separate command buffers
glEndQuery(GL_TIME_ELAPSED_EXT);
glFlush();
// Now, we normally can do anything without influencing the timer... BUT, this is not the case...
Sleep(777);
glFinish();
The problem is that the time of the Sleep call (here 777ms) is included in the query time!