Raphael JS:复杂路径的scale / getBBox在IE中比在Chrome / Firefox中慢很多?

时间:2011-06-16 13:06:11

标签: path raphael scale

我在Raphael(500坐标)中有一条相当复杂的路径。

当我在Chrome或Firefox中使用scale()时,它几乎立即缩放(0.05秒),但在IE中,它可能需要2秒钟!

我认为它与路径的复杂性有关,因为具有10个坐标的简单路径可以快速缩放。

但为什么浏览器之间存在差异?我知道Chrome / Firefox使用SVG,IE使用VML,但scale()函数属于Raphael-library本身,不是吗?

什么也很奇怪,当我缩放()然后做一个getBBox()时,有时scale()需要很长时间,有时候getBBox()....随机....

使用复杂路径以任何方式让IE更快一点?

2 个答案:

答案 0 :(得分:0)

对于所有JS工作而言,IE比Chrome / Firefox慢得多,而不仅仅是复杂的工作。

没有办法只用JS代码来加速IE(除非你能优化scale()函数本身)。

我认为更好的方法是尽可能为IE用户使用更简单的路径。

答案 1 :(得分:0)

我发现复杂路径,即具有大量坐标的路径,如果在构建传递给Raphael的字符串之前在自己的javascript代码中进行任何缩放,则渲染速度更快,而不是通过Raphael的scale函数进行缩放。对于translate函数也是如此。