macos – 导致切换到独立图形的QML

在OSX Mountain Lion上使用Qt 5.1,我注意到我的应用程序导致计算机从内置的节能图形切换到功耗更大的离散卡.

有没有办法防止这种情况发生?

最佳答案 从Qt 5.3开始,可以在Info.plist中使用Qt应用程序中的特殊键.

1)到use custom 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文件,因此您可以将其用作模板.
你也可以看到example here.

2)然后将下一个密钥添加到Info.plist的“dict”部分:

<dict>
    ... other keys here ...
    <key>NSSupportsAutomaticGraphicsSwitching</key>
    <true/>
</dict>

从Qt 5.3开始,该密钥应该有效(见this commit).

3)确保Qt将您的自定义Info.plist文件放入MyApp.app/Contents/Info.plist.

出于某种原因,Qt Creator不会更新* .app文件中的Info.plist(如果已存在).因此,在修改Info.plist之后,从构建目录中删除* .app文件并重建项目以应用更改.

点赞