我的设置:
我有一个GWT Canvas
显示一些依赖于繁重算法的图形。对象是可拖动的,因此在拖动时,我将拖动对象旁边的所有内容保存在临时画布上,并将其作为拖动上下文后面的图像重用。
我的问题:我的拖动画布是一个重用的 Canvas 对象,在开始拖动之前必须先清除它,然后再将静态上下文保存到它。我想知道“重用和清除”是否比“创建新的画布对象”更好。
你怎么看?
每次都清除画布:
private Canvas canvas;
void buffer() {
canvas.getContext2d().clearRect(0, 0, Window.getClientWidth(), Window.getClientHeight());
//...draw
}
...或创建新对象:
void buffer() {
Canvas canvas = Canvas.createIfSupported();
//draw
}