我正在编写WPF应用程序.我在某些窗口中使用了BitmapCache,如下所示:CacheMode = new BitmapCache() {EnableClearType = false,RenderAtScale = 2,SnapsToDevicePixels = false; }然后:运行我的应用程序,CPU使用率...

我正在编写WPF应用程序.我在某些窗口中使用了BitmapCache,如下所示:
CacheMode = new BitmapCache() {
EnableClearType = false,
RenderAtScale = 2,
SnapsToDevicePixels = false; }
然后:
>运行我的应用程序,CPU使用率是正常的.
> Ctrl Alt Del,显示任务管理器,名为“系统”的进程显示CPU使用率高.
Process Explorer显示了由以下两个线程引起的问题:
ntoskrnl.exe!WheaAttemptPhysicalPageOffline+0x350
dxgmms1.sys!VidMmInterface+0x26500
我使用了英特尔高清显卡.
这是WPF,直接驱动程序还是图形驱动程序的错误?有人知道吗
解决方法:
“系统”进程是伪造的进程,它显示在环0中运行的Windows代码的统计信息.例如,设备驱动程序位于其中. Dxgmms1.sys是DirectX的内存管理器. WPF使用DirectX渲染图形.位图可能会占用大量内存.
因此,看到使用位图的WPF应用程序在DirectX相关的设备驱动程序中花费大量的CPU时间并不是什么难事.英特尔高清显卡是图形加速器的最便宜的底层实现.在AMD或NVidea视频卡上花费五十美元可能是一个快速解决方案.不要求WPF缩放位图或限制它的渲染速率(因为可视树已失效)可能是另一种快速解决方案.
本文标题为:c#-由进程“系统”引起的高CPU使用率


基础教程推荐
- C#使用String和StringBuilder运行速度测试及各自常用方法简介 2023-01-06
- 详解搭建基于C#和Appium的Android自动测试环境 2023-04-20
- 解决WPF附加属性的Set函数不调用的问题 2023-06-15
- C#中调整图像大小的步骤详解 2023-04-14
- c# 委托的常见用法 2023-03-09
- c#中查询表达式GroupBy的使用方法 2023-05-06
- Unity Shader实现模糊效果 2023-04-27
- 如何在c#中使用Zlib压缩与解压 2023-04-14
- c# 用ffmpeg从视频中截图 2023-04-09
- c#对XML文档的创建与增删改查的示例代码 2023-03-08