在javascript中计算矩阵并输入转换属性是否较慢? 或者我应该使用翻译,旋转比例?我发现首先更容易,特别是对于SVG动画,由于原点问题,但由于动画循环速度很重要。我猜罪和cos是昂贵的,但它是否会显着影响性能?
function matrix_tsr(cx,cy,tx,ty,sx,sy,a){
var sin = Math.sin(a);
var cos = Math.cos(a);
var m = [sx *cos,
sy * sin,
-sx * sin,
sy * cos,
(-cx * cos + cy * sin + cx) * sx + tx,
(-cx * sin - cy * cos + cy) * sy + ty];
return 'matrix('+m.join(',')+')';
}
//Inside loop
var matrix = matrix_tsr( originX, originY, transX, transY, scaleX, scaleY, angle);
SVGelement.setAttribute('transform',matrix);
//insted of
SVGelement.setAttribute('transform','translate(x,y),bla...');
//loop end