【发布时间】:2012-08-14 16:18:24
【问题描述】:
我有一个网络应用程序,它使用画布为绘制到屏幕上的树设置动画。它通过连续进行多次三角计算来实现。当您单击“成长”按钮时,会出现一个树木生长的动画,该动画具有用户可以更改的某些属性。您可以在此处查看应用程序http://pastehtml.com/view/c85mxfgcj.html。
问题是,如果您将“年龄”(要通过的迭代次数)设置得太高,由于计算机必须执行的计算,动画开始滞后。我想知道两件事:
- 有没有办法在动画显示给用户之前对其进行预渲染?
- 有没有一种方法可以做到,如果我有一棵已经渲染过的树,并且我想让它在屏幕上移动,我可以做到这一点,而不必在每一帧都重新绘制树?李>
谢谢。
【问题讨论】:
-
欢迎来到*!你能用一组画布吗?
-
嗨 - 我相信你会在这里找到一些有用的建议:Does HTML5/Canvas Support Double Buffering?
-
我是否必须制作两个以上的画布才能容纳每一帧?我希望每个单独的帧都被预加载,如果我只使用两个,那么这基本上就是在做计算机已经为你做的事情。它一直等到下一帧被加载,然后显示图像,这似乎是双缓冲的作用。如果我确实必须创建多个画布,那么这也会产生问题,因为我不知道当客户端也按下“增长”时我需要多少帧,我听说双缓冲实际上会导致更多的性能开销。
标签: javascript html animation canvas rendering