QRecall Community Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Top Downloads] Top Downloads   [Groups] Back to home page 
[Register] Register /  [Login] Login 

Support for automatic graphics switching? RSS feed
Forum Index » Beta Version
Author Message
Steve Mayer


Joined: Oct 25, 2008
Messages: 70
Offline
Jim,

I have an early 2011 MacBook Pro with the Intel Graphics adapter and the AMD Radeon adapter. If QRecall is running when I switch between graphics adapters and open a browser window, I'm unable to see any of the contents. If I quit QRecall and start it up again, I can now see the contents of the browser (unless I switch graphics adapters at which point the same scenario occurs).

Path Finder also had this issue and I believe they solved it by adding the following snippet into the application Info.plist file:

<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>

Is there any chance that the same addition would solve the browser issue?

Thanks,

Steve
Steve Mayer


Joined: Oct 25, 2008
Messages: 70
Offline
Actually, I just tried adding that to the Info.plist and it does indeed allow the browser to function properly. Steps to reproduce:

1. Start QRecall
2. Verify that browser contents display properly
3. Close browser window, but leave QRecall running
4. Pull power cord on laptop so that graphics adapter switches from AMD to Intel
5. Open new browser window (this is where before adding the key into the plist file, the browser wouldn't display the contents correctly)
6. Verify that the browser contents do display properly now.

Just thought you might like to know.

Steve
Ralph Strauch


Joined: Oct 24, 2007
Messages: 194
Offline
It looks like this was at least partly the source of the problem I related in <http://forums.qrecall.com/posts/list/381.page>. I just tried the triggering procedure that Steve describes and the problem of the blank lower pane came back. The upper pane still displayed the layers list, though. In any case, there's certainly a linkage. I have the same model MBP as Steve does, and my iMac is the mid-2011 version.

Ralph
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
Steve,

Thanks for the great info. I'll add the NSSupportsAutomaticGraphicsSwitching key to the QRecall info.plist.

QRecall uses OpenGL and Core Animation, which in turn also uses OpenGL. It doesn't do anything particularly fancy, so I would expect it to run just fine using the integrated CPU.

It's odd that this doesn't work already. According to Apple's documentation, an application that lacks this switch should cause a new OpenGL context to be created in the higher-end discrete GPU and won't stop using it until the application quits. Apparently, that's not the case.


- QRecall Development -
[Email]
Steve Mayer


Joined: Oct 25, 2008
Messages: 70
Offline
Any time, James!

Let me make one clarification about what you said regarding the Apple Documentation.

I am using gfxCardStatus to manage the switching of the graphics adapters based off of rules. There may be something there that is screwing with this context setting.
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
Steve Mayer wrote:I am using gfxCardStatus to manage the switching of the graphics adapters based off of rules. There may be something there that is screwing with this context setting.

That might be the problem. gfxCardStatus might be forcing the system to switch to the integrated GPU where it wouldn't otherwise. Enabling the application to support GPU switching might simply be letting in the notifications necessary to handle the GPU switch that has already occurred. Apple's Core Animation framework undoubtedly handles the switch correctly.

If that's all true, then the interesting test would be the 3D "Time View" in QRecall (which creates a single OpenGL view). Open an archive, select the Time view, switch GPUs, and see what happens. If the Time view stops working after the switch, I may have to add some code to handle that.

- QRecall Development -
[Email]
Steve Mayer


Joined: Oct 25, 2008
Messages: 70
Offline
James,

Okay, with the modification to the .plist file, here's what I observed:

1. Started QRecall with the power adapter plugged in.
2. Opened a browser window and changed to the timeline view.
3. Was able to browse back and forth the timeline.
4. Pulled the power cord. The existing browser window continued to function properly.
5. Closed the browser window
6. Opened a new browser window in timeline view. The pane where the timeline would normally appear was blank white.
7. Plugged power cord back in. Pane all of a sudden updated and the timeline was now visible again!

I can of course get the timeline to show up by quitting QRecall and relaunching it after changing the power cord state.

Hope this helps.
 
Forum Index » Beta Version
Go to:   
Mobile view
Powered by JForum 2.8.2 © 2022 JForum Team • Maintained by Andowson Chang and Ulf Dittmer