OpenGL hidden fps limiter in XP?

Hi there,

I’m sure you guys know of the great Apple Aqua Flurry port to Windows.

Screenshot:

http://screenshots.haque.net/screenshots/desktop/5614/OS%20X%20flurry%20copy.jpg

Homepage:

http://www.maddogsw.com/flurry/

Guys I need your help, I have a question that I haven’t been able to solve on the net.

You see I have a Laptop Pentium 4, 3.2 Ghz with Radeon 9600 Pro. Flurry runs very good (the frame rate indicator, enabled in the registry shows 34 FPS. (just regedit to the flurry key, you’ll see it, or use fraps with the accurate double buffering).

What I can’t solve is that I tried to run flurry on another laptop, a slower one, a Pentium-M 1,5 ghz Radeon 9200, on this machine it runs at the same settings but at a straight 50 fps.

Can you tell me how to boost the FPS, as it is running slower on the faster machine?

Here are the details (both machines fresh installs of XP Sp1 everything cleared from startup msconfig):

Flurry FPS = 50 fps

Laptop Compaq NX7000 Widescreen
Pentium - M 1.5 ghz (running on battery (598 Mhz))
400 Mhz FSB
1680x1050x32

Directx 8.1
Catalyst 3.4 (Display Driver 6.14.10.6342)

Flurry FPS = 34fps

Laptop Sager 5680
Pentium 4 3.2 Ghz
800 Mhz FSB
1600x1200

DirectX 9.0b
Catalyst 4.6 (Display Driver 6.14.10.6451)

Could it be that Flurry runs faster on DirectX 8.1 instead of Directx 9.0b?

I even tried installing the Catalyst 3.4 driver on the faster machine no luck, still stuck at 34 FPS.
Then I tried using the atioglxx.dll from the 3.4 into the 4.6, still no luck.
Then I tried opengl on all performance settings in the display adapter property pages, no luck.

It’s driving me crazy, if you’ve ever seen this opengl app in motion you’ll see what I mean and why it looks like something very cool at 50 fps.

Where is this damned OpenGL fps limiter in windows?

Found: set monitor hz to above 60hz. Problem solved.

What a weird solution for a laptop.

The problem is actually vertical synchro.

I suppose it is activated by Flurry (else you may change the default behavior in the video card control panel)

If you can run a game at 54 fps, but have a monitor with display refresh at 60, you will get 30 fps.

final_fps = disp_refresh/n

with n the smallest integer that verifies :

disp_refresh/n < fps

with :

disp_refresh : the dispaly refresh rate
n : any positive integer
fps : fps of the game that your computer is able to handle
final_fps : what you get