• AS3优化性能笔记三


    尽可能使用内联代码

    尽可能使用内联代码以减少代码中函数的调用次数。

    Math.abs()方法计算绝对值:

    const MAX_NUM:int = 500000;
    var arrayValues:Vector.<Number>=new Vector.<Number>(MAX_NUM,true);
    var i:int;
     
    for (i = 0; i< MAX_NUM; i++)
    {
    arrayValues[i] = Math.random()-Math.random();
    }
     
    var started:Number = getTimer();
    var currentValue:Number;
     
    for (i = 0; i< MAX_NUM; i++)
    {
    currentValue = arrayValues[i];
    arrayValues[i] = Math.abs ( currentValue );
    }
     
    trace( getTimer() - started );
    // output : 70

    内联方式,是函数调用运行速度的四倍以上。

    const MAX_NUM:int = 500000;
    var arrayValues:Vector.<Number>=new Vector.<Number>(MAX_NUM,true);
    var i:int;
     
    for (i = 0; i< MAX_NUM; i++)
    {
    arrayValues[i] = Math.random()-Math.random();
    }
     
    var started:Number = getTimer();
    var currentValue:Number;
     
    for (i = 0; i< MAX_NUM; i++)
    {
    currentValue = arrayValues[i];
    arrayValues[i] = currentValue > 0 ? currentValue : -currentValue;
    }
     
    trace( getTimer() - started );
    // output : 15

    避免计算循环中的语句

    不计算循环中的语句也可以实现优化。以下代码遍历数组,但为进行优化。因为在每次遍历时都需要计算数组长度。

    for (var i:int = 0; i< myArray.length; i++)
    {
    }

    最好存储该值并重复使用:

    var lng:int = myArray.length;
     
    for (var i:int = 0; i< lng; i++)
    {
    }

    对while循环使用相反的顺序

    以相反顺序进行while循环的速度比正向顺序循环快

    var i:int = myArray.length;
     
    while (--i > -1)
    {
    }

    尽可能避免使用alpha属性

    当显示对象使用alpha值混合处理时,运行时必须将每个堆叠显示对象的颜色值与背景色混合起来,以确定最终颜色。因此会占用更多的处理器资源。

    尽可能使用低帧速率

    较高的帧速率会耗用更多的CPU资源和电池能量。

    如果视频是应用程序中唯一的动态内容,使用低帧速率。因为运行时以本级帧速率播放加载的视频内容,而与应用程序的帧速率无关。

    动态更改应用程素的帧速率,例如应用程序不执行任何动画时可降低帧速率。如果应用程序真该后台运行(已失去焦点),可进一步降低帧速率。

  • 相关阅读:
    Web上传大文件的解决方案
    JS上传大文件的解决方案
    网页上传大文件的解决方案
    B/S上传大文件的解决方案
    Unity UGUI——提供可视功能的UI组件(Text)
    Java设计模式透析之 —— 策略(Strategy)
    【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题
    高度平衡树 -- AVL 树
    成长这事儿,不可不说-------Day36
    Cocos2D-X2.2.3学习笔记5(UI系统)
  • 原文地址:https://www.cnblogs.com/youlechang123/p/2914031.html
Copyright © 2020-2023  润新知