Re: What triggers -applicationDidChangeScreenParameters: delegate method?
Re: What triggers -applicationDidChangeScreenParameters: delegate method?
- Subject: Re: What triggers -applicationDidChangeScreenParameters: delegate method?
- From: Bill Cheeseman <email@hidden>
- Date: Thu, 11 Dec 2014 06:26:14 -0500
> On Dec 11, 2014, at 4:40 AM, Stephane Madrau <email@hidden> wrote:
>
> Just my two cents : if NSVisualEffectView is one of the APIs that
> triggers a GPU change, then you're likely to get a "monitor changed
> notification" when the application starts, since GPU changes will be
> handled on the OS side as if the display was detached from the
> integrated GPU and attached to the discrete GPU.
That's an interesting suggestion.
The NSScreen reference document says only that the notification triggering the delegate method is sent "when the display configuration is changed." It isn't clear what changes that description encompasses. We know it is not necessarily limited to attributes covered by NSScreen, because the reference document also says that NSScreen "describes the attributes of a computer’s monitor, or screen," and that it "is for getting information about the available displays only. If you need additional information or want to change the attributes relating to a display, you must use Quartz Services." This refers to the Quartz Display Services Reference. In a cursory review of that document and the Quartz Display Services Programming Topics document, I don't see anything specifically about GPU switches, but there are plenty of functions that can reconfigure a display using the window server. I can imagine some of them might be used by NSVisualEffectView.
To retain the designed functionality of my application, I think I will have to maintain a list of screens and their resolutions in user defaults, and look for changes limited to those attributes in the applicationDidChangeScreenParameters delegate method. Those are the only changes my application needs to know about, because it cares only about the onscreen position of its window.
--
Bill Cheeseman - email@hidden
_______________________________________________
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