WPF 设置纯软件渲染

栏目: ASP.NET · 发布时间: 5年前

内容简介:最近看到有小伙伴说 WPF 使用硬件渲染,如何让 WPF 不使用硬件渲染,因为他觉得性能太好了。万一这个版本发布了,产品经理说下个版本要提升性能就不好了。于是就找到一个快速的方法,让程序不使用硬件渲染这样下个版本要优化就让程序使用硬件渲染。设置 WPF 使用软件渲染的方法是在 .net framework 3.5 之后才可以的。使用方法很简单,在 Loaded 之后,添加下面代码默认的 RenderMode 是 默认,也就是如果判断有硬件就在硬件渲染,如果没有就在 CPU 渲染。

最近看到有小伙伴说 WPF 使用硬件渲染,如何让 WPF 不使用硬件渲染,因为他觉得性能太好了。万一这个版本发布了,产品经理说下个版本要提升性能就不好了。于是就找到一个快速的方法,让程序不使用硬件渲染这样下个版本要优化就让程序使用硬件渲染。

设置 WPF 使用软件渲染的方法是在 .net framework 3.5 之后才可以的。使用方法很简单,在 Loaded 之后,添加下面代码

HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource;
HwndTarget hwndTarget = hwndSource.CompositionTarget;
hwndTarget.RenderMode = RenderMode.SoftwareOnly;

默认的 RenderMode 是 默认,也就是如果判断有硬件就在硬件渲染,如果没有就在 CPU 渲染。

如果设置 SoftwareOnly 就不在硬件渲染。

除了想降低性能,估计没有人会设置这个。

上面的方法是开启窗口级的软渲染,如果想要在进程级设置开启软渲染,请使用这个代码

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

如果想要在整个设备运行 WPF 程序都使用软渲染,那么可以通过修改注册表的方法

HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics 里面添加一个项,这个项是 dword 命名是 DisableHWAcceleration 使用默认值 0 就可以

那么如何判断当前的软件是使用软渲染的?

通过 WPF Performance Suite 运行之后附加到打开的进程调试,勾选 Draw software renderingwith purple tint 观察原有进程是否被一个诡异的颜色放在上面,如果是那么就是开启软渲染了

Performance Profiling Tools for WPF 的 Draw software renderingwith purple tint 就是使用高亮的矩形覆盖在使用软渲染的范围,如果整个进程都是使用软渲染,那么整个进程都会被高亮

注意,除了设置使用软渲染之外打开高亮矩形可能会显示在使用 bitmap effects 的元素上或通过RenderTargetBitmap渲染的内容等使用软渲染的元素

WPF 设置纯软件渲染

现在微软已经不开放 Performance Profiling Tools for WPF 下载,请点击这个 链接 下载

最近在做渲染优化,更多博客请看 渲染相关

WPF 渲染级别

WPF 使用 Direct2D1 画图入门

Video Rendering Issues for WPF Windows - Rick Strahl’s Web Log

Enable Software Rendering in WPF programmatically


以上所述就是小编给大家介绍的《WPF 设置纯软件渲染》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻资产创业

轻资产创业

蔡余杰 / 广东人民出版社 / 2017-11 / 45.00元

在互联网时代,资金和资源已经不是制约创业的关键因素。如今即便没有充足的资金和资产做后盾,创业梦依旧可以成为现实。相信轻资产创业模式能够帮助众多经营管理者和创业者实现管理与创业的梦想。 轻资产创业存在误区,如何跨过? 如何巧用四大模式让自媒体创业落地? 如何用一个点子引发创意型创业? 如何利用电商平台实现流量为王的营销型创业? 如何巧用知识节点做好知识产型创业? ......一起来看看 《轻资产创业》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具