直接三维变换函数与js计算的矩阵变换性能

时间:2014-03-04 14:20:02

标签: javascript css3

以下答案显示矩阵变换函数比常规变换更快: https://stackoverflow.com/a/20892177/157397

这对我来说听起来很合乎逻辑,因为浏览器无论如何都会将转换函数转换为矩阵。

我正在编写一个使用CSS渲染对象的JS类。为了更适合任何人,我想使用可理解的属性(在单独的转换函数中使用相同的属性):

http://codepen.io/meodai/pen/gCbrt

问题是我必须用JS计算矩阵的值。我想知道让浏览器处理它是否更快(就像现在一样),还是我的班级应该计算矩阵?什么会更快?

2 个答案:

答案 0 :(得分:1)

除非你真的发现问题,否则我不会试图在性能游戏中击败浏览器。它们可能比你已经优化得更多,如果没有,那么它们可能在未来。

答案 1 :(得分:1)

嗯,首先,正如塞尔达克所说,除非存在真正的问题,否则不要试图在性能上击败浏览器。

其次,大多数情况下,性能的关键问题是呈现,而不是解析属性的值。如果你真的快速改变你的价值观,那将是显而易见的。而且,在这种情况下,优化它的简单方法可能是减少变换的频率。并通过一些过渡将平滑留给浏览器。

第三,你可以遇到意想不到的问题。换句话说,0deg旋转和360deg旋转的矩阵是相同的。但是,当你处于359度时,将其改为360度而不是0度是不一样的。浏览器以某种方式保留旋转状态;如果只处理矩阵,你将遇到问题。