dzhydaniel
dzhydaniel
> 放到最大的时候,浮点数与整数转换上存在一定的误差,导致目前放大太多会造成图像漂移问题 大概得怎么解决呢,请指点一下
> 试了限制最大放大比例 //最大比例 private float MaxZoom = 20f; 现在在图形上放大到最大后不会突然消失了 非常感谢
  这个图里有40万个元素,我需要找到其中的一个并定位。循环周期100ms. 当频繁使用mapCanvas.Invalidate();时CPU占用率一度达到40% ,想请教一下,能不能不调用或者少调用mapCanvas.Invalidate(); 让CPU的使用率降低。
还有个问题就是,怎么能让绘制出来的方块图形和canvas中心对齐?
> mapCanvas.Invalidate(); 为了重新绘制。没有其他目的。
40万个元素用鼠标拖动平移的时候会有卡顿
> 你把重新放到循环外面呢 经过测试发现如果不同时频繁的绘制40万个元素 CPU占用率就会显著下降,所以我在想有没有什么办法做一个缩略图,只显示当前更新的元素的周围的元素
> > 你把重新放到循环外面呢 > > 经过测试发现如果不同时频繁的绘制40万个元素 CPU占用率就会显著下降,所以我在想有没有什么办法做一个缩略图,只显示当前更新的元素的周围的元素 如果只更新小图的话CPU占用率很低,但是大图也要更新,所以有没有办法局部更新大图。
> > > 你把重新放到循环外面呢 > > > > > > 经过测试发现如果不同时频繁的绘制40万个元素 CPU占用率就会显著下降,所以我在想有没有什么办法做一个缩略图,只显示当前更新的元素的周围的元素 > > 如果只更新小图的话CPU占用率很低,但是大图也要更新,所以有没有办法局部更新大图。 https://github.com/TimChen44/WinFormCanvasDemo/assets/44791363/ee42e419-f1e8-486a-b088-33eaea5f6154