以编程方式设置应用程序的图形性能
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.
如果您以编程方式在那里设置该值,它将在下次应用重新启动时被拾取。父 UserGpuPreferences
和 DirectX
键可能不存在,因此您需要确保它们也存在。
此外,据我所知,此首选项优先于供应商(AMD、NVIDIA)特定设置中可能存在的类似首选项设置。
另请参阅:
- Graphics performance preference 在 MSDN 论坛上
例子
如果您的应用程序是 C:\testapp.exe
,您想要创建以下注册表项:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
"C:\testapp.exe"="GpuPreference=1;"
或者另一种方法是使用设置以交互方式添加覆盖,然后查看创建的注册表值。
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.
如果您以编程方式在那里设置该值,它将在下次应用重新启动时被拾取。父 UserGpuPreferences
和 DirectX
键可能不存在,因此您需要确保它们也存在。
此外,据我所知,此首选项优先于供应商(AMD、NVIDIA)特定设置中可能存在的类似首选项设置。
另请参阅:
- Graphics performance preference 在 MSDN 论坛上
例子
如果您的应用程序是 C:\testapp.exe
,您想要创建以下注册表项:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences]
"C:\testapp.exe"="GpuPreference=1;"
或者另一种方法是使用设置以交互方式添加覆盖,然后查看创建的注册表值。