动作脚本3 - NaN从速度测试



我试图测试计算和创建某个矩阵所需的时间。使用的代码如下:

import flash.geom.Matrix;
import flash.utils.getTimer;
var iter:int = 0;
var titer:int = 10000;
var time:Number;
var ttime:Number;
var zm:Number = 1.5;
var sx:Number = 0, sy:Number = 0.5;
var rot:Number = Math.PI/6;
var tx:Number = 10, ty:Number = 0;
var w:Number = 50, h:Number = 50;
var cr:Number = Math.cos(rot), sr:Number = Math.sin(rot);
var m3:Matrix, mt:Matrix;
for(iter; iter<titer; iter++) {
    time = getTimer();
    m3 = new Matrix(cr*(sx+zm), -sr*(sx+zm), sr*(sy+zm), cr*(sy+zm), tx+w-cr*w*(sx+zm)-sr*h*(sy+zm), ty+h+sr*w*(sx+zm)-cr*h*(sy+zm));
    ttime += getTimer() - time;
}
trace('total:', ttime, 'avg:', Number(ttime)/Number(titer));

我确定我设置正确,但跟踪返回'NaN'。是什么导致的呢?

回复会很简短:var ttime: Number = 0;;)初始化变量是一个很好的编程习惯。

另外,我不理解你对for性能测试的构造。你对这样的建筑有什么看法?

var time:uint = getTimer();
//your 'for' with Matrix
time = getTimer() - time;
//trace results...

最新更新