Advertisement

no more than 75fps??

Started by March 22, 2001 02:29 AM
2 comments, last by lunasol 23 years, 10 months ago
Hi, i''m front of something very confusing : - When i draw 26000 textured polys with six lights, the frame rate is between 40 and 70 fps - When i draw 13000 textured polys with six lights, the frame rate is about 75 fps - When i draw 6 textured polys with one light, the frame rate is about 75 fps I''ve got a duron700 + Geforce2GTS. The AGP rate is 1X (the agp drivers of my motherboard seems to be moronic ) I understand why i have "only" 75 fps with 13000 polys (The drawing function is very simple : one display list per object, no optimization) But i don''t understand why the framerate is about 75 fps with a simple cube... any clues? lunasol
75 Hz is your monitor refresh rate. It can''t flip the pages so that the frame rate is faster than this. This means that the frame rate is capped at 75 Hz, but this will not affect applications with more polygons that run at lower frame rates.



Just because you''re outnumbered doesn''t mean you''re wrong.


sharewaregames.20m.com

Advertisement
thanks for the reply, my dumbness is less darker today )
(Assuming you're using opengl here)

It's that slow because the default behaivour for SwapBuffers() is to wait for the verticle retrace - the point when the ray the monitor uses to trace the image is moving back to the top-left of your screen. It's 75fps, because your monitor refreshes at 75Hz.

If you want to turn that off, look into the WGL_EXT_swap_control extension. Here's some sample code:

  typedef BOOL (APIENTRY *PFNWGLSWAPINTERVALFARPROC)( int );PFNWGLSWAPINTERVALFARPROC        wglSwapIntervalEXT = NULL;...const unsigned char *extensions = glGetString( GL_EXTENSIONS );if( strstr( (const char *)extensions, "WGL_EXT_swap_control" ) == 0 ){    printf( "WGL_EXT_swap_control not supported.\n" );}else{    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALFARPROC)wglGetProcAddress( "wglSwapIntervalEXT" );    if( EXT_WGL_swap_control )        wglSwapIntervalEXT( 0 );}  


Note: If you're using DirectX, pass the D3DF_NOVSYNC (or something) flag to IDirectDrawSurface::Flip()

Edited by - dean_harding on March 22, 2001 4:53:24 AM

This topic is closed to new replies.

Advertisement