1

为了好玩,我制作了一个小的 HTML 画布可视化工具,我注意到它在 Chrome 中运行非常糟糕,在 Firefox 中非常糟糕,但在 Safari 中绝对令人惊讶,包括 iPhone 和 iPad!

谁能解释为什么?

我认为代码应该相当简单,但基本上我正在为鼠标(或触摸)位置绘制点,然后使用 drawImage 将画布复制到临时画布。从那里我清除显示画布,然后将临时画布复制回来(4 次),但应用一些东西,如旋转、偏移、透明度和缩放(并使用一些不同的 globalCompositeOperations),所有这些都使用 drawImage。所以总的来说,drawImage 在每个循环中被调用 5 次。

您可以在此处查看演示:http: //lakenen.com/vis.html

任何见解将不胜感激!

PS。如果可以的话,在 iPad 上试试这个;多点触控非常简洁:)

4

1 回答 1

0

由于 Safari 和 Chrome 中的性能分析器几乎相同,因此您应该能够自己确定这一点。您的演示在我机器上的 Safari 和 Chrome 上运行良好。

无论如何,我无法告诉您为什么 drawImage 在 Chrome 上的性能比 Safari 更差,只有当图像无法加载然后被绘制时才会如此。否则,Chrome 在 Windows 上似乎更快。

这是我不久前制作的一个简单的jsperf。它似乎显示 chrome 19 在我的 windows 7 机器上运行速度是 safari 的两倍。

于 2012-03-23T17:43:10.337 回答