【发布时间】:2014-08-12 13:24:56
【问题描述】:
我想渲染一个大的随机世界(大小为 1600x24000 像素)并将其绘制到屏幕上。重点不是让我一次看到整个地图,所以即使大部分图像都离开了屏幕,这也是非常滞后的。我的想法是将世界分成 24 个不同的隐藏画布,每个画布的大小为 1600x1000。这些将在应用程序加载并保存到隐藏画布时生成。一次只绘制一个
请记住,这是使用 ctx 图形随机生成的图像,而不是静态图像。我还没有尝试过。 我应该期待什么?这有效率吗?我怎样才能做得更好?
我想补充一点,我目前处理这个问题的方式是只绘制每一帧的可见部分。但是,一次屏幕上通常有 80-120 张图像,并且必须实时渲染所有这些图像在移动设备上会变得相当滞后。我希望预渲染一大块并将其绘制为单个图像会加快速度。
【问题讨论】:
-
为什么不只渲染可见部分?如果它是程序生成的,您可以使用相同的算法只渲染可见部分。
-
是的,我忘记添加了。请阅读我上次的编辑。
-
您可以只重绘已更新的部分并重新使用已绘制的部分。这样,您只需渲染差异并缓存旧信息。
-
我有一个基本上在地图上移动的相机,这需要每帧重绘。
标签: javascript canvas html5-canvas