我正在编写WPF应用程序。我在某些窗口中使用BitmapCache
,如下所示:
CacheMode = new BitmapCache() {
EnableClearType = false,
RenderAtScale = 2,
SnapsToDevicePixels = false; }
然后:
Process Explorer显示了由这两个线程引起的问题:
的Ntoskrnl.exe!WheaAttemptPhysicalPageOffline + 0x350
dxgmms1.sys!VidMmInterface + 0x26500
我使用的是Intel HD Graphics。
这是WPF,直接或图形驱动程序的错误吗?有人知道吗?
答案 0 :(得分:3)
“系统”进程是一个虚假进程,显示在环0中运行的Windows代码的统计信息。例如,设备驱动程序存在于那里。 Dxgmms1.sys是DirectX的内存管理器。 WPF使用DirectX渲染图形。位图可以使用大量内存。
看到一个使用位图的WPF应用程序在DirectX相关设备驱动程序中花费了大量的cpu时间因此并不是什么大问题。英特尔高清显卡是图形加速器的底层廉价实现。在AMD或NVidea显卡上花费五十美元可能是一个快速解决方案。不要求WPF缩放位图或限制它需要渲染的速率,因为可视化树无效可能是另一个快速修复。