【发布时间】:2013-08-09 11:26:28
【问题描述】:
我尝试使用画布对象构建一个可滚动的图块地图,该对象会自动计算相对于屏幕分辨率的大小,并相对于(更大的)地图上的位置渲染图块。
我打算移动生成的图块,只绘制需要重新绘制的图块。
这意味着我滚动地图,在顶部绘制新图块(例如向上移动)并删除底部的最后一个图块,这些图块现在不在可见画布中。
我的问题是:
我认为改变画布中每个图块的位置对性能来说不是很好,我认为这可以使用getImageData()和putImageData()来解决,但仍然存在一个问题:
如果我只是移动这些图块并绘制新图块,它总是会“跳跃”30 像素(1 个图块 = 30x30),那么有没有一种简单/性能技术上好的方法来实现平滑的线性滚动效果?
【问题讨论】:
标签: javascript html performance canvas html5-canvas