在 OSX Mountain Lion 上使用 Qt 5.1,我注意到我的应用程序导致计算机从内置节能显卡切换到更耗电的离散卡。
有什么办法可以防止这种情况发生吗?
从 Qt 5.3 开始,可以在 Info.plist 中为您的 Qt 应用程序使用特殊键。
1) 要使用自定义 Info.plist,请在 *.pro 文件中设置 QMAKE_INFO_PLIST 变量。
# qmake will copy this file to MyApp.app/Contents/Info.plist
QMAKE_INFO_PLIST = MyInfo.plist
默认情况下,qmake 会生成通用的 Info.plist 文件,因此您可以将其用作模板。您还可以在此处查看示例。
2)然后将下一个键添加到 Info.plist 的“dict”部分:
<dict>
... other keys here ...
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
</dict>
这个密钥应该从 Qt 5.3 开始工作(参见这个提交)。
3) 确保 Qt 将您的自定义 Info.plist 文件放入 MyApp.app/Contents/Info.plist。
出于某种原因,如果 *.app 文件中的 Info.plist 已经存在,Qt Creator 不会更新它。因此,在修改 Info.plist 后,从构建目录中删除 *.app 文件并重建项目以应用更改。