读书人

GDI+drawpolygon大量数据的有关问题

发布时间: 2012-06-22 16:16:32 作者: rapoo

GDI+drawpolygon大量数据的问题
我用GDI+在窗体重绘中画地图,有一万多个多边形,总的点数据量有十几M,先读入数据然后用drawpolygon画,画完要1秒左右,每次放大缩小移动时都要重新根据经纬度计算对于屏幕上的XY,这样开了双缓冲,画面也会很卡,有什么好方法呢

[解决办法]
加个线程
[解决办法]
线程中加保护,同时
canvas.lock;
画完后
canvas.unlock;
[解决办法]
个人感觉用多线程也不行,除非是多个canvas,可以这样的来解决,将图分块,然后每一块用一个线程处理,最后合并显示。
另外,在显示大的区域时,小区域的数据不一定需要显示吧
[解决办法]
改用GDI试下,
[解决办法]
另外问一下,我看到别人的程序放大缩小时重绘,平移时却没有重绘,是怎么实现的呢?
平移时每个经纬度对应的XY不是改变了吗
-----------------------
你确定没有重绘?其实那样也可以做到,他判断窗口是平移状态时,用API validateRect(), 窗口就不会重绘了

读书人网 >.NET

热点推荐