【问题标题】:AMD equivalent to NvOptimusEnablementAMD 相当于 NvOptimusEnablement
【发布时间】:2013-07-03 21:58:08
【问题描述】:

对于 Intel+NVIDIA 双 GPU“Optimus”设置,应用程序可以导出 NvOptimusEnablement,如 OptimusRenderingPolicies.pdf 中所述。此选项允许应用程序确保使用高速离散 GPU,而无需配置文件更新或用户交互,而这通常是某些类别的应用程序所需要的。

对于具有 AMD GPU 的系统是否有等效的技巧(仅限 Windows 也可以),如果有,它是什么?我无法通过谷歌搜索找到任何具体信息;只有很多人在各种论坛上问同样的问题而没有答案,或者关于 NVIDIA 技巧的 SO 文章带有“也许 AMD 有类似的东西,我不知道”的评论。

【问题讨论】:

    标签: gpu


    【解决方案1】:

    根据https://community.amd.com/thread/169965

    extern "C" { __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; }

    只要不存在将应用程序分配给另一个 GPU 的配置文件,就会选择高性能 GPU。

    请确保使用 13.35 或更新的驱动程序。较旧的驱动程序不支持此功能。

    【讨论】:

    • 好消息,很高兴看到他们终于解决了这个问题。对于其他人来说,13.35 驱动程序大约有一年的历史,所以这个功能可能会在一段时间内对最终用户来说是偶然的,但对于开发人员来说应该是可靠的。
    • 我的同事报告说它适用于最新的 (14.12) 驱动程序。不幸的是,我们上周升级了驱动程序,所以我无法确认任何早期的驱动程序是否可以工作。
    • 另外,请注意 AMD 对其驱动程序的警告:AMD Catalyst Mobility 驱动程序仅支持基于第二代及以后的 AMD A 系列 APU 或第三代 Intel 的 AMD Enduro 平台核心家族。
    • 因此,如果您有 Westmere 或 Sandy Bridge 系统,您可能需要笔记本电脑制造商提供的驱动程序更新(可能不可用),或修补驱动程序(google leshcat)。
    【解决方案2】:

    当您在非 Windows 机器上编译时,此代码将被忽略:

    #ifdef _WIN32
    #include <windows.h>
    extern "C" __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
    extern "C" __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
    #endif
    

    【讨论】:

      猜你喜欢
      • 2011-10-29
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多