WPF 设置纯软件渲染

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

内容简介:最近看到有小伙伴说 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 设置纯软件渲染》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

互联网+秋叶课堂:我的网课创业

互联网+秋叶课堂:我的网课创业

秋叶 / 北京:机械工业出版社 / 2016-3-1 / 39.0

在线教育被很多人视为 “互联网+”创业热潮中的下一个风口,越来越多的老师和创业者选择在线教育创业。本书作者秋叶老师2013年双11正式带一帮小伙伴开始在线教育创业,在短短两年内“从0到1”,累计做到了超500万元的销售业绩,成为国内Office领域在线教育运营最成功的团队之一。在这本书中秋叶老师结合自己的实战经历,向各位完整剖析了两年创业的真实复盘思考,是一本值得在线教育创业同行入手的必读书。 ......一起来看看 《互联网+秋叶课堂:我的网课创业》 这本书的介绍吧!

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

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码