我正在编写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使用率
基础教程推荐
- Unity实现刮奖效果 2023-03-14
- C#异步的世界(上) 2023-04-15
- 图文介绍c#封装方法 2023-01-06
- C# 服务器发送邮件失败实例分析 2023-02-08
- C#时间戳基本使用方法详解 2023-07-05
- C#开发Windows UWP系列之3D变换 2023-06-21
- C#中三种Timer计时器的详细用法 2023-06-09
- C#实现汽车租赁系统项目 2023-01-11
- C#图像识别 微信跳一跳机器人 2022-12-02
- WPF自定义TreeView控件样式实现QQ联系人列表效果 2022-12-11