进程“系统”导致CPU占用率过高

本文关键字:占用率 CPU 导致 系统 进程 | 更新日期: 2023-09-27 18:12:30

我正在编写一个WPF应用程序。我在一些窗口中使用了BitmapCache,像这样:

CacheMode = new BitmapCache() {
            EnableClearType = false,
            RenderAtScale = 2,
            SnapsToDevicePixels = false; }

:

  1. 运行我的应用程序,cpu使用率正常
  2. Ctrl+Alt+Del显示任务管理器,名为"System"的进程显示CPU占用率高。

Process Explorer显示了由这两个线程引起的问题:

ntoskrnl.exe !WheaAttemptPhysicalPageOffline + 0 x350
dxgmms1.sys !VidMmInterface + 0 x26500

我用的是Intel HD Graphics。

这是WPF,直接还是图形驱动程序的错误?有人知道吗?

进程“系统”导致CPU占用率过高

"System"进程是一个假进程,显示在环0中运行的Windows代码的统计信息。例如,设备驱动程序就在那里。Dxgmms1。sys是DirectX的内存管理器。WPF使用DirectX来渲染图形。位图会占用大量内存。

看到使用位图的WPF应用程序在与DirectX相关的设备驱动程序中花费大量cpu时间,因此并不奇怪。英特尔高清图形是一个底层的桶廉价实现的图形加速器。花50美元购买AMD或nvidia显卡可能是一个快速解决方案。不要求WPF缩放位图或因为视觉树无效而限制它需要渲染的速率可能是另一个快速修复方法。