在Hybrid Graphics芯片的低功耗侧使用OpenGL

时间:2013-08-02 11:35:55

标签: c++ cocoa opengl

我撞到了一堵砖墙,我想知道这里是否有人可以提供帮助。我的程序打开一个OpenGL表面,以满足非常小的渲染需求。在MacbookPro上看来,这导致显卡驱动程序将混合卡从低性能英特尔图形切换到高性能AMD ATI图形。

这引起了我的问题,因为AMD驱动程序似乎存在问题并让Mac进入睡眠状态,但它也不必要地快速耗尽电池。我有时只需要OpenGL来创建静态3D图像,我不需要快速的帧速率!

在Cocoa应用程序中是否有办法防止OpenGL将混合显卡切换到性能模式?

1 个答案:

答案 0 :(得分:2)

相关文档为QA1734, “Allowing OpenGL applications to utilize the integrated GPU”

  

...在OS X 10.6及更早版本中,您不能选择在集成GPU上运行。 ...

     

在OS X 10.7及更高版本中,有一个名为NSSupportsAutomaticGraphicsSwitching的新属性。要允许OpenGL应用程序使用集成GPU,您必须在应用程序的Info.plist中添加此键,其布尔值为true ...

因此,您只能在Lion上执行此操作,并且“仅...在2011年初及之后发布的双GPU MacBook Pro上。”

还有一些其他重要的警告:

  

此外,您必须确保应用程序可以正常使用多个GPU,否则系统可能会继续强制您的应用程序使用独立GPU。 TN2229 Supporting Multiple GPUs on Mac OS X详细讨论了您需要遵循的必要步骤。

  

集成GPU上可能无法使用独立GPU上提供的功能。您必须检查您正在使用的GPU上是否存在您想要使用的功能。有关GPU类支持的功能的完整列表,请参阅:OpenGL Capabilities Tables