0

在我的应用程序中,每当用户移动鼠标时,我都必须重新创建一个具有非常高分辨率的新位图(它的最大尺寸可能达到 3000 像素 x 3000 像素)。位图的大小取决于鼠标的位置。例如:鼠标在屏幕左上角时尺寸最小,鼠标在屏幕右下角时尺寸最大。

在此处输入图像描述

问题是当鼠标离左上角很远时,位图的尺寸很大。我检查并意识到在OnRender中通过DrawingContext重新创建和绘制位图的时间很好。但是框架可能存在瓶颈,将DrawingContext中的绘图数据传输到屏幕上需要很长时间。这会影响 WPF 鼠标输入系统,因此下一个鼠标移动事件触发得很晚,我的应用程序变得迟钝。这是该站点上与我的问题有关的另一个问题: WPF 性能缓慢的原因

你有什么想法可以解决我的问题吗?

PS:每当用户移动鼠标时,我都会创建一个新的位图并在其上绘制一些东西,然后调用 InvalidateVisual() 并将位图绘制到 DrawingContext 中。

4

0 回答 0