以编程方式设置应用程序的图形性能

Programmatically set Graphics Performance for an app

Windows 控制面板中有一个选项允许将应用程序设置为 "high performance"。 控制面板 -> 系统 -> 显示 -> 图形设置。

在此处添加我的应用程序时,我注意到,在使用 Media Foundation 和 H.265 进行编码时,它使用 NVIDIA gfx 适配器进行编码。之前用的是内嵌的Intel显卡,只能做H.264编码,所以H.265编码在CPU.

慢慢搞定了

如何以编程方式将我的应用程序添加到那里?这对我的音序器的性能至关重要。

非常感谢。

据我所知,没有 API 或相关文档。但是,该首选项保存在

下的注册表中

HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences

字符串值 GpuPreference 部分和整数值对应 DXGI_GPU_PREFERENCE enumeration.

如果您以编程方式在那里设置该值,它将在下次应用重新启动时被拾取。父 UserGpuPreferencesDirectX 键可能不存在,因此您需要确保它们也存在。

此外,据我所知,此首选项优先于供应商(AMD、NVIDIA)特定设置中可能存在的类似首选项设置。

另请参阅:

例子

如果您的应用程序是 C:\testapp.exe,您想要创建以下注册表项:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
"C:\testapp.exe"="GpuPreference=1;"

或者另一种方法是使用设置以交互方式添加覆盖,然后查看创建的注册表值。