FullScreen LCD VBL Issue on Intel Mac Mini
The Problem:
VBL synch does not work for non-native resolutions on my LCD display, in captured full screen mode, on my Intel Mac Mini, running OS X 10.4.6.
The Details:
The machine that I'm using is an Intel Core Duo Mac Mini. The display I'm using is a 20" LCD Cinema Display. The native resolution is 1680 x 1050. If I set the full screen mode to use 1680 x 1050, VBL synch works. If I set the full screen mode to any non-native resolution, like 1024 x 768 or whatever, VBL synch does not work.
So, I did some further investigation by trying out a few different configurations:
- First, I sent the universal binary test app to my older Dual G4 867 using a CRT, and it works fine for non-native resolutions.
- So then I plugged the LCD into the Dual G4 and it also works just fine for non-native resolutions. Hmm...
- Finally, I tried plugging the CRT into the Mac Mini and it also works just fine for non-native resolutions.
- The fact remains that the LCD plugged into the Mac Mini does not do VBL synch at non-native resolutions, whereas all the above configurations do.
Here is a snippet of some relevant code for reference:
Is this a known problem? Does anybody have a workaround? Am I missing something?
VBL synch does not work for non-native resolutions on my LCD display, in captured full screen mode, on my Intel Mac Mini, running OS X 10.4.6.
The Details:
The machine that I'm using is an Intel Core Duo Mac Mini. The display I'm using is a 20" LCD Cinema Display. The native resolution is 1680 x 1050. If I set the full screen mode to use 1680 x 1050, VBL synch works. If I set the full screen mode to any non-native resolution, like 1024 x 768 or whatever, VBL synch does not work.
So, I did some further investigation by trying out a few different configurations:
- First, I sent the universal binary test app to my older Dual G4 867 using a CRT, and it works fine for non-native resolutions.
- So then I plugged the LCD into the Dual G4 and it also works just fine for non-native resolutions. Hmm...
- Finally, I tried plugging the CRT into the Mac Mini and it also works just fine for non-native resolutions.
- The fact remains that the LCD plugged into the Mac Mini does not do VBL synch at non-native resolutions, whereas all the above configurations do.
Here is a snippet of some relevant code for reference:
Code:
CGCaptureAllDisplays();
CFDictionaryRef fullScreenMode = CGDisplayBestModeForParametersAndRefreshRate(
kCGDirectMainDisplay,
CGDisplayBitsPerPixel(kCGDirectMainDisplay),
1024,
768,
75,
NULL);
CGDisplaySwitchToMode(kCGDirectMainDisplay, fullScreenMode);
[fullScreenContext setFullScreen];
[fullScreenContext makeCurrentContext];
const long vblSynch = 1;
[[NSOpenGLContext currentContext] setValues:&vblSynch forParameter:NSOpenGLCPSwapInterval];Is this a known problem? Does anybody have a workaround? Am I missing something?
Possibly Related Threads...
| Thread: | Author | Replies: | Views: | Last Post | |
| Strange FullScreen Context Issue | kodex | 10 | 4,892 |
Aug 26, 2005 02:50 AM Last Post: OneSadCookie |
|

