【问题标题】:How to disable Macbook Pro from switching to a high performance graphics card in Cocoa?如何在 Cocoa 中禁用 Macbook Pro 切换到高性能显卡?
【发布时间】:2011-05-09 19:38:43
【问题描述】:

所有 2010 款 Macbook Pro 都配备了两张显卡——一张是低性能的内置 Intel HD 显卡,一张是高性能的独立 NVIDIA 显卡——它会根据正在运行的应用程序的需要在它们之间动态切换。

我有一个简单的 Cocoa 应用程序,它只包含一个带有 NSTextField 的菜单栏项。我所做的只是不时使用NSAttributedString 更新文本字段。问题是我的应用程序将我的 Macbook Pro 切换为使用高性能 NVIDIA 卡(我使用了gfxCardStatus 工具来确认这一点)。

什么可能需要高性能卡?是否有已知的应用程序需要高性能显卡的原因列表?有没有办法强制电脑使用独立显卡?

【问题讨论】:

    标签: macos cocoa graphics gpu


    【解决方案1】:

    Ars Technica 上有一篇关于新款 MacBook Pro 中 GPU 切换的好文章。 我注意到如果你使用 OS X 会切换到专用 GPU

    • 启动一个链接到 OpenGL 的应用程序
    • 连接第二台显示器

    gfxCardStatus 的代码是开源的。并且似乎相关部分位于 switcher.m 中。你可以仔细看看here

    【讨论】:

    • 感谢插件。 :) 它确实是开源的,如果您愿意,我鼓励您查看它 - 但是,我不建议将切换代码添加到其他应用程序中。一个尝试控制哪个 GPU 处于活动状态的应用程序就足够了。我设法破坏了我的一个内核扩展,同时运行它的 3 个副本并尝试一个接一个地切换它们,只是为了测试目的 - 坏主意。
    • 此外,任何使用 CALayers 的东西都会触发切换到独立 GPU。
    • 就是科迪!一旦我将其中一个控件上的 WantLayer 设置为 NO,它就会停止切换到离散 GPU。你应该把它写下来作为答案。
    【解决方案2】:

    在 MacOS 10.7 中,您可以在 PList 中指定一个设置以停止使用独立显卡:

    https://developer.apple.com/library/mac/qa/qa1734/_index.html

    需要 2011 年以上的 MacBook Pro。

    【讨论】:

    • 还需要是 15" 或 17"(不是 13")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 2015-07-27
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 2012-08-07
    相关资源
    最近更新 更多