栅格图形的更新和移动往往用脏矩形的方法来实现有效的更新。而矢量图却不是那么容易。
矢量图画面移动往往很麻烦,明明就移动了一点点,整个画面却重新要画,导致画面很卡的感觉。其实矢量图移动采用类似脏矩形的方法,可以比如在绘制矢量图形画面的时候我们需要移动当前画面,如图所示 ,移动后的状态如下,原先画面为绿色部分。紫色部分和黄色部分为新增图块。我们不需要重新描绘绿色部分。仅仅拷贝原先的图形并移动后贴到绿色部分。在内存中渲染出紫色和黄色部分拼到内存中然后在屏幕上画出来。就完成了一个画面更新。
这种方法适合矢量运算大的程序。矢量图形占据了整个描绘的很大部分时该方法可以节约很多时间。甚至节约90%的时间。
在实际应用中可能出现图块之间无法拼接的部分。建议把这些部分单独放到一个图层中描绘。