选择最佳图形设备以运行 3D 高强度应用程序

首次发布日期:
Ken Mitchell's avatar
Ken Mitchell

许多游戏和工作站笔记本电脑都配备了 (1) 集成的省电图形设备和 (2) 高性能独立图形设备。不幸的是,如果未选择最佳图形设备,3D 高强度应用程序的性能可能会大打折扣。例如,游戏可能在集成 GPU 上运行的速度为每秒 30 帧 (FPS),而不是独立 GPU 提供的 60 FPS。作为开发者,您可以通过在可执行文件的源代码中添加一行代码来轻松解决此问题。

extern "C" { _declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001; }

是的,就这么简单。此行将确保在运行应用程序时选择高性能图形设备。

要求

值得注意的是,此方法有一些简单的要求才能正常工作:

  1. 图形密集型应用程序应使用 DirectX® 或 OpenGL®。
  2. 笔记本电脑应为具有集成和独立图形设备的传统 PowerXpress 或现代混合图形笔记本电脑。
  3. 可执行文件应是静态链接的。在动态链接库中添加上述代码将不起作用。

通常,现代 PC 游戏满足上述所有要求,除了极少数轻量级工作负载,例如扫雷和纸牌。

但是,这些说明不适用于 Vulkan™ 或 OpenCL™ 应用程序。简而言之,AMD Vulkan™ 可安装客户端驱动程序 (ICD) 会根据性能启发式函数以降序排列其设备。相反,AMD OpenCL™ ICD 不会对设备进行排序。

Radeon 附加设置

您是否注意到当笔记本电脑连接到 AC 市电时性能有所提高?令人惊讶的是,这可能是由于您的 Radeon 附加设置!

可切换图形全局设置

首先,用户可以将以下一项全局应用程序设置分配给电池或插入电源模式:

  1. 强制省电图形
  2. 优化省电(默认电池模式)
  3. 优化性能(默认插入电源模式)
  4. 最大化性能

因此,这些设置对电池续航时间有很大影响。因此,不建议更改这些设置。

可切换图形应用程序设置

其次,用户可以将以下一项图形设置分配给应用程序:

  1. 高性能
  2. 省电
  3. 基于电源源
  4. 未分配

方便的是,图形驱动程序包含一个常用游戏和应用程序列表,其中大部分可以由用户更改。此外,用户还可以添加应用程序。

最值得注意的是,应用程序设置查找仅使用可执行文件名,不包括其路径。因此,最好避免使用通用名称或其他已知常用应用程序的名称,例如“game.exe”、“player.exe”或“launcher.exe”。

值得庆幸的是,如果应用程序“未分配”,图形驱动程序仍会测试可执行文件是否请求了高性能图形。实际上,驱动程序会在可执行文件的导出表中搜索“AmdPowerXpressRequestHighPerformance”。事实上,您可以使用 Microsoft Visual Studio 工具命令提示符轻松自行测试:

dumpbin.exe /exports app.exe | find.exe “AmdPowerXpressRequestHighPerformance”

可切换图形设置摘要

为简便起见,下表显示了根据全局和应用程序设置选择的 GPU:

全局设置应用程序设置选定的 GPU
强制省电图形未分配省电
高性能省电
省电省电
基于电源源省电
优化省电未分配省电
高性能高性能
省电省电
基于电源源省电
优化性能未分配省电
高性能高性能
省电省电
基于电源源高性能
最大化性能未分配高性能
高性能高性能
省电省电
基于电源源高性能

最后,我观察到有些应用程序通过添加 AmdPowerXpressRequestHighPerformance 将性能提高了 80%。因此,我强烈推荐此解决方案。

Ken Mitchell's avatar

Ken Mitchell

Ken Mitchell 是 AMD Radeon 技术组/AMD ISV 游戏工程团队的技术成员,专注于帮助游戏开发者高效利用 AMD CPU 核心。此前,他负责自动化和分析 PC 应用程序,以预测未来 AMD 产品的性能。他在德克萨斯大学奥斯汀分校学习计算机科学。提供第三方网站链接仅为方便起见,除非另有明确声明,AMD 对此类链接网站的内容概不负责,也不暗示任何认可。

相关新闻和技术文章

相关视频

© . This site is unofficial and not affiliated with AMD.