类似AutoCAD软件提高重绘速度

我正在开发一款类似AutocAD的软件,但是在元素比较多的情况下,元素重绘的速度很慢。
因为是矢量图,一旦鼠标滚动或者放缩,所有的图元必须重新计算新的窗口坐标,并且在新的位置重绘出来。
为了提高速度,我使用了空间索引技术,可以排除一些不在可视区域内的元素,并且当元素很小的时候,可以忽略,不显示,但是即使是这样,元素很多且都需要显示的情况下,重绘的速度还是很慢。
有什么方法可以提高重绘的速度吗?
有谁知道AutoCAD是怎么处理的吗?AutoCAD在元素很多的情况下,依然很流畅。

2个回答

利用CPU空闲时间对视图做缓冲。因为用户经常要做的是上下左右平移和缩小。所以可以将这些地方先渲染好,然后再直接载入。

tangzongshuji
唐书记 图纸打开以后,首次渲染后,当然会建立缓存数据,问题是,以后即使从这些缓存数据重新计算和绘制,速度也很慢。对视图做缓冲,我们无法预知用户会平移到哪里,以及放缩到多大,所以就无法做缓冲,问题的症结在于重绘速度太慢。
大约 5 年之前 回复

有几个策略可以采用,第一,绘制时抽希;第二,绘制后做位图缓存,第三,可以采用空间索引

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问