
If you're interested in more permanently disabling Beam Sync, read on...
This thread at CocoaBuilder.com demonstrates code for programmatic disabling of Beam Sync:
extern void CGSSetDebugOptions(int);
extern void CGSDeferredUpdates(int);
typedef enum {
disableBeamSync = 0,
automaticBeamSync = 1,
forcedBeamSyncMode = 2
} beamSyncMode;
beamSyncOption mode = disableBeamSync;
CGSSetDebugOptions(mode ? 0 : 0x08000000);
CGSDeferredUpdates(mode);
It needs to be linked against QuartzCore. If you rather not deal with coding, you can use a simple command line tool called beamsync. Running beamsync with the -d option disables; -a makes automatic, and -f forces beam synchronization. The source code is available as well. Note that both the tool and the code rely on the undocumented API, which is a subject to change in the future Tiger upgrades. It's provided as is; use at your own risk.
Here's a simple method to see if disabling beam sync increases the fps on your system:
- Follow the steps in the original hint to run Quartz Debug, but don't disable beam sync right away.
- From the Tools menu, enable Frame Meter.
- Grab any window on the screen (the Quartz Debug window will do) and "shake" it with a mouse. You'll see the FPS meter go up. On my laptop with Beam Sync enabled, it only goes up to 35 fps.
- Now disable Beam Sync and repeat the shaking. The fps should now be around 60! Amazing