使用双缓冲方法:
1. 要显示的图(矩形图)先画在内存中(如Bitmap对象等等)
2. 然后再把内存中的图形画到Canvas中.
3. 一旦要重画某一种分, 直接将内存中的图形画到Canvas.
这样, 每次要改变画面时,只需画一次内存图形,再画到Canvas, 而Mouse移动等其它事件引起的画面要重画的情况,只需拷贝内存图形到Canvas,这个速度是很快的.从理论上讲,往内存中画图比往显卡中画图快.因此把复杂的图形画在内存,再一次性复制(bitblt等)到显卡内存,是很好的解决方法.游戏通常都是用这种方法,有些还用到三缓存等.
1. 要显示的图(矩形图)先画在内存中(如Bitmap对象等等)
2. 然后再把内存中的图形画到Canvas中.
3. 一旦要重画某一种分, 直接将内存中的图形画到Canvas.
这样, 每次要改变画面时,只需画一次内存图形,再画到Canvas, 而Mouse移动等其它事件引起的画面要重画的情况,只需拷贝内存图形到Canvas,这个速度是很快的.从理论上讲,往内存中画图比往显卡中画图快.因此把复杂的图形画在内存,再一次性复制(bitblt等)到显卡内存,是很好的解决方法.游戏通常都是用这种方法,有些还用到三缓存等.
要是使用多层的做法,如何保证每一层的图都可以看见并且可以控制。
使用bitblt函数把原图的相应区域重画到Canvas,然后重新画十字线。
这样闪烁肯定少很多。