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

Mic*_*kis 4 windows directx winapi dxgi ms-media-foundation

Windows 控制面板中有一个选项可以将应用程序设置为“高性能”。控制面板 -> 系统 -> 显示 -> 图形设置。

在那里添加我的应用程序时,我注意到,当使用 Media Foundation 和 H.265 编码时,它使用 NVIDIA gfx 适配器进行编码。在此之前,它使用嵌入式Intel显卡,只能进行H.264编码,因此H.265编码在CPU中慢慢完成。

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

非常感谢。

图形设置

Rom*_* R. 8

据我所知,没有这方面的 API 或文档。但是,该首选项保存在注册表中

HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences

字符串值与GpuPreference部分和整数值对应的DXGI_GPU_PREFERENCE枚举

如果您以编程方式设置该值,则会在下一次应用程序重新启动时获取该值。父项UserGpuPreferencesDirectX键可能不存在,因此您需要确保它们也存在。

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

也可以看看:

例子

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

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
"C:\\testapp.exe"="GpuPreference=1;"
Run Code Online (Sandbox Code Playgroud)

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