QML导致切换到独立显卡

时间:2013-07-27 03:07:35

标签: macos qml qt5

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

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

1 个答案:

答案 0 :(得分:2)

从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)然后将下一个键添加到" dict" Info.plist的一部分:

<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文件并重建项目以应用更改。