2010-11-17 79 views
3

因此,我正在做一个老式的学校游戏,以使用画布获得乐趣。 Firefox很慢,但铬剂量有萤火虫,我发现使用JavaScript开发时几乎是一项要求。所以第一个问题:人们如何在没有萤火虫的帮助下开发这些复杂的游戏?javascript canvas html5性能问题

第二个问题。什么是一些性能提示可以帮助绘图函数(或一般的JavaScript)更快地执行?在我看来,这是该领域的瓶颈(至少对于Firefox而言)。

最后一个问题。通过在firebug中进行性能分析的实验,我可以看到一些人称之为“不良实践”的性能提升,比如:我已经将代码组织到了一个功能列表中,每个功能都做一件事。这比运行beginPath()和closePath()之间的所有代码的速度要慢,但这样做会导致意大利式面条代码并且很难遵循。你如何管理平衡?

+5

Chrome和Safari拥有Webkit Inspector,它非常像Firebug。 – 2010-11-17 21:47:39

+2

实际上Chrome有Firebug精简版:http://getfirebug.com/releases/lite/chrome/ – yoda 2010-11-17 21:48:46

+1

Firefox 4的JavaScript引擎比Firefox 3.6快很多,并且可以使用beta版本。 – PleaseStand 2010-11-17 23:14:01

回答

4

我正在使用100%Chrome进行开发,稍后再测试其他浏览器。

铬有一个内置的检查员,(在我看来)比萤火虫更好。更容易堆叠检查,步进和物体检查。

右键单击页面并单击“检查元素”。 (或按CTRL SHIFT + I)

然后单击“脚本”选项卡。您将在右侧看到调用堆栈,范围变量,断点,调用堆栈等。将鼠标悬停在变量上不仅可以让你看到它们的值,还可以让你探索它们的嵌套值。

+0

+1我使用Chrome Inspector与Firebug一样多。 – Skilldrick 2010-11-18 14:27:33

3

对于您的最终问题 - 优化没有错 - 唯一不好的是提前优化。如果您发现存在问题并且解决问题的唯一方法是让代码不易读,那么您必须在可读性/可维护性和性能之间进行权衡。如果性能是最重要的因素,那么通过一切手段将你精美的因子代码变成丑陋的意大利面代码。但只有在你用尽其他选项后。