On May 16, 2005, at 2:16 AM, Lorenzo wrote:
Glad to know there is workaround.
I launch Quartz Debug and mark the radio button
"Disable Beam Synchronization". Now my application works well, the
refreshing problem has gone. Then I quit Quartz Debug and my
application's
problem occurs again. I launch again Quartz Debug and strangely
the radio
button "Disable Beam Synchronization" is not marked anymore.
How to set it permanently? And, most of all,
do I have to say to all of my clients to do this settings by
themselves?
I hope no.
Quartz Debug resets the mode to "automatic" when it quits. The
Window Server debug state is global for the session, not per-
process or per-window. If your app disables it, it should re-
enable it upon quit; you should present a warning dialog to the
user and let them make the decision. Here is the necessary code:
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);
All disclaimers shall apply. ;)~