题
什么是程序禁止硬件加速在WPF?究竟是什么?它是windows设置一些工作室设置或者是你改变在代码wpf项目?它将只影响的程序正在运行或将它通过全系统?
解决方案
这是一个系统范围的设置,从桌面上,右键单击,弹出一个弹出菜单,点击属性,环顾四周在那里的视频设置来禁用硬件加速或有可能是系统托盘图标图形设置。这是系统范围,而不是局部的。
希望这有助于 最好的祝福, 汤姆。
其他提示
您可以禁用它 Window
从.Net 3.5 SP1开始的级别。
public partial class MyWindow : Window
{
public MyWindow()
: base()
{
InitializeComponent();
}
protected override void OnSourceInitialized(EventArgs e)
{
var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
if (hwndSource != null)
hwndSource.CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
base.OnSourceInitialized(e);
}
}
或者您可以订阅 SourceInitialized
窗口的事件并执行相同的操作。
或者你也可以 将其设置为进程级别:
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
软件渲染的优先顺序是:
- 禁用HW加速注册表项
- 处理渲染模式
- 渲染模式(每个目标)
这是一个机器范围的注册表设置。请参见图形呈现注册表设置在与定制WPF渲染WPF文档的注册表键和其他细节。
中列出的关键是:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration
在MSDN文档是.NET 4.5“不可用”,所以这可能是一个depricated选项只能在4.0或更低。
在4.0版,也可以使用 RenderOptions.ProcessRenderMode
设置一个进程的广泛优先选择(http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx).
不隶属于 StackOverflow