我有一段代码运行到一个循环中,除以 100,这减少了我的 fps 计数。
在大多数情况下,是一个int/uint类型除以100,得到一个简单的数字。
我只是想知道有什么方法可以优化它。
编辑: @scriptocalypse 建议的小基准 - 乘以 0.01:
import flash.utils.getTimer;
for(var k:Number = 20; k > 0; k--)
{
var a:int = getTimer();
var o:Number = 100;
var p:Number;
for(var i:Number = 100000000; i > 0; i--)
{
p = o * 0.01; // took 423~510 <--------------
//p = o / 100; // took 713~768 <--------------
}
var b:int = getTimer();
trace( b - a);
}
最佳答案
我怀疑并不是除法导致了大部分问题,因为即使是较慢的数学运算也应该比其他运算相对较快。
虽然这样:
x * 0.01;
理论上应该比
更快x / 100;
我仍然怀疑这不会有太大区别。你的循环中还做了什么?
关于actionscript-3 - 如何优化除以100?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11442018/