PDA

View Full Version : draw full screen squad



skeleton
03-25-2003, 10:05 PM
when i draw a full screen squad,I changed the window from 300*300 to 600*600,i thought
the time for drawing should increase with the
window size,however i got decreasing result.
who can tell me why,thanks a lot.
it use the following code to measure the time
t1=(double)clock();
//do drawing
glFlush();
double t2=(double)clock();
time=(t2-t1)

shinpaughp
03-25-2003, 11:10 PM
Depends. If you have full screen at 640x480 and get 90 fps (vsync off) and then change display resolution to 1280x1024 you would expect a drop in fps.

However, if you are at 300x300 not full screen getting 90 fps (vsync off) and then go to 640x480 full screen and the fps jumps up, then it is probably that the system you are on is wasting time sending window updates to every application that is running. And, depending on how well the other applications were designed may actually redraw what is hidden behind your window though it is never seen.

At least, that is the only possibility I can think of. I could be wrong.

HalcyonBlaze
03-26-2003, 07:42 AM
Yeah, just going to fullscreen mode increases the thread priority for the application. A fullscreen application usually has a high CPU usage. A way of seeing it is that if you make an application go fullscreen, you are telling windows that the fullscreen application is the only one you want to bother with right now. In theory if you go from a 640x480 windowed mode application to a 640x480 fullscreen, you should notice a jump up in the FPS.

Oh and by the way if you try to go fullscreen with the width and height of the window set to 300x300, it will go to 640x480 and I thinkg that the 600x600 should also go to 640x480 fullscreen. It could get promoted to 800x600...but i'm not 100% sure on that. But you aren't getting a 600x600 or 300x300 fullscreen.

- Halcyon

Relic
03-27-2003, 01:15 AM
First, the measurement is inaccurate. glFlush is immediately returning. Use glFinish to measure when the drawing has been completed.
Make sure the rate of your clock is precise enough compared to the time you measure.
600*600 doesn't sound fullscreen. But if you experience windowed vs. fullscreen performance differences in favor of fullscreen, the way the SwapBuffers is done may be different. Windowed is probably swap-copied and fullscreen is swap-exchanged.
Try measuring without the SwapBuffers.