ScreeSaver View and the IntelHD / NVIDIA Macbook Pros
ScreeSaver View and the IntelHD / NVIDIA Macbook Pros
- Subject: ScreeSaver View and the IntelHD / NVIDIA Macbook Pros
- From: Michael Diehr <email@hidden>
- Date: Thu, 10 Jun 2010 08:10:39 -0700
On May 18, 2010, at 10:20 AM, Michael Diehr wrote:
> On May 17, 2010, at 6:26 PM, Michael Diehr wrote:
>
>> Update: it appears as if instantiating a dummy NSOpenGLView in my master process helps the issue.
>>
>> I'm not clear whether I actually need to go so far as to create the NSOpenGLView and add it as a subview, or if simply linking with the OpenGL framework is sufficient.
>
> I did more testing, and indeed I do need to instantiate the NSOpenGLView -- simply linking to the OpenGL framework by itself doesn't work_______________________________________________
An update for the archives:
It turns out that in a NSScreensaverView,
and if the user has a Intel HD/NVIDIA 330M machine,
and if the Intel HD card is active,
and if your ScreenSaverView adds a glView in the initWithFrame method,
Then,
The OS will issue the following methods:
InitWithFrame:
StartAnimation:
StopAnimation:
At which point it kills your screensaver, then switches from the IntelHD chip to the NVIDIA, then restarts your screensaver:
InitWithFrame:
StartAnimation:
AnimateOneFrame:[...]
This is not documented, AFAIK, and was causing issues for me due to the fact that I wasn't expecting an immediate termination after receiving the StartAnimation call. One workaround appears to be to not do anything serious (such as launching helper apps, etc.) in the InitWithFrame or StartAnimation methods, but to wait a bit for the AnimateOneFrame call...
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden