在 Canvas 中,我有大约 2000 个框架元素派生项……而这些项又包含大约 12000 个绘图视觉效果。这个 Canvas 代表了一个复杂机器的二维 View 。这个 Canvas 有平移和缩放逻辑。
这幅画来得很快..
但是当机器/绘图完全加载时..然后平移和缩放非常紧张..

我可以在 .net4 中应用位图缓存功能,使其快速运行。
那么问题来了,当 Canvas 放大看到细节..可以看到像素块..这是非常难看的..

有什么办法可以加快这个速度吗?

我没有找到任何合理的答案。

我是这样尝试的..首先我有 10000 个框架元素,它们代表简单的形状,如矩形和圆形.. 太慢了..

然后我尝试了一个包含 10000 个绘图视觉效果的框架元素.. 仍然很慢..

然后我尝试了一个框架元素,其中包含一个包含 10000 个绘图的绘图视觉对象......仍然很慢......

最佳答案

我将开始赏金,我不能一直设置位图缓存,因为图形很糟糕。

所以我现在正在做的是,在我右键单击进行平移的那一刻,我将所有控件转换为 bitmapcache,当我释放按钮时,我删除了 bitmapcache。像这样,只有当我平移时它才可怕,但它非常流畅。

问题是当我使用 bitmapcache 转换所有内容时(或者当我删除它时),当我完全缩小时大约需要 1 秒或 2 秒......等待那个时间是 Not Acceptable ......

对于表演,是的,我们卡住了我们所能做的一切。

编辑:

我刚在野兽电脑上试过:双四核 3.6GHz,6GB 显卡,16GB 内存,SSD,所有东西....将所有控件转换为缓存需要 1 秒...如果我不缓存它滞后很多

关于c# - wpf(太多的绘图视觉效果)导致抖动平移和缩放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3238107/

10-11 23:21
查看更多