PDA

View Full Version : Is this the real fps?



Suvcon
02-07-2001, 09:23 AM
If the following is true,then i think i cannot get a fps more than 150 on the 85Mhz monitor.

but in single buffer mode i can get a 500 fps,how can that be?

this is from SGI :

"Smooth animation also requires double buffering. In double buffering, one framebuffer holds the current frame, which is scanned out to the monitor by video hardware, while the rendering hardware is drawing into a second buffer that is not visible. When the new framebuffer is ready to be displayed, the system swaps the buffers. On hardware implementations, the system must wait until the next vertical retrace period between raster scans to swap the buffers, so that each raster scan displays an entire stable frame, rather than parts of two or more frames.


Frame rates must be integral multiples of the screen refresh time, which is 16.7 msec (milliseconds) for a 60-Hz monitor. If the draw time for a frame is slightly longer than the time for n raster scans, the system waits until the n+1st vertical retrace before swapping buffers and allowing drawing to continue, so the total frame time is (n+1)*16.7 msec.
"

Nutty
02-07-2001, 10:04 AM
It's possible becuase you're not synchronising the frame buffer update to the vertical sync of the monitor.

Have a look in your gfx card options and look for vertical sync. Try turning it on to make it lock at your vertical refresh rate.

- Nutty http://www.opengl.org/discussion_boards/ubb/smile.gif

Suvcon
02-26-2001, 01:32 AM
cani set this in my opengl application???

Relic
02-26-2001, 03:27 AM
>>If the following is true,then i think i cannot get a fps more than 150 on the 85Mhz monitor.
>>but in single buffer mode i can get a 500 fps,how can that be?

Sorry, this has nothing to do with the VSync.
150 fps is more than the monitor does.

The double buffer mode spends the time in the SwapBuffers() call blitting the back buffer to the front buffer.
You can easily calculate what amount of memory bandwith that needs with (width * height * bytes_per_pixel * frames/s).
This is not needed in the single buffered case.