同样的,Win10操作系统更新后,软件花屏了!

WPF为啥还能出现花屏呢?

花屏是个什么现象?即:WPF的界面不能正确渲染或及时刷新,导致整个界面会出现严重的残影,严重影响使用。

如果存在花屏,可出现步骤:

  1. 快速拖动窗口
  2. 窗口自动收起和展开
  3. 更改窗口大小
  4. 其他各种操作……

出现花屏的原因有多种,有可能是WPF的渲染线程挂了,也有可能是驱动问题。

这里主要描述驱动问题导致的花屏如何解决!

我们都知道,WPF的渲染,除了使用CPU渲染以外,还可以基于direct x进行渲染,以加快渲染速度。这个过程叫:硬件加速。如果显卡驱动存在兼容性问题,那么硬件加速很有可能会出现异常情况,比如说花屏。

解决此问题的思路也比较简单,关闭硬件加速更新显卡驱动

如果更新显卡驱动无效,那么我们可以在软件中关闭硬件加速。

我们在程序启动时候,加入如下代码:


//RenderMode.Default 会根据系统情况决定是否需要启用硬件加速。通常情况下都是打开状态,除非硬件不支持或者 direct x 版本不支持。
//开启硬件加速:WPF的程序界面,在硬件层呈现。
//关闭硬件加速:WPF的程序界面,在软件中呈现。
System.Windows.Media.RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;

根据业务要求,也可以将此更改作为配置项处理,如果出现花屏,可尝试关闭硬件加速。


本文会经常更新,请阅读原文: https://huchengv5.gitee.io//post/WPF-WPF%E7%A8%8B%E5%BA%8F%E5%87%BA%E7%8E%B0%E8%8A%B1%E5%B1%8F-%E6%80%8E%E4%B9%88%E5%8A%9E.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接: https://huchengv5.gitee.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系