2D转换速度。矩阵与翻译,旋转,缩放

时间:2016-06-08 19:27:36

标签: javascript css animation svg

在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

0 个答案:

没有答案