zoukankan      html  css  js  c++  java
  • 比较实用的一些心得

            /*
             *author : SinSoul
             *blogs: http://www.cnblogs.com/sinsoul
             */

       本文转载

    优化显示:透明效果,滤镜,缩放以及旋转可以产生分成绚丽的效果,但是这些效果同时也吃掉了很多的CPU,所以在游戏中尽可能用位图代替这些效果。

     流畅的逻辑运算:另外一个瓶颈是游戏中的逻辑判断。尽量减少不必要的判断,取消程序中的那些临界近似值的判断。出来显示问题,优化逻辑判断是提高游戏性能最为显著的一个。

     使用Vector类存储一组相同类型的数据:Flash player10引入了Vector类。除了要求存储数据必须是同一种类型外,它的功能和Array类完全一致。但是如果当需要存储不同类型的数据时,Array的运行效率还要比Vector胜出一筹的。

     用uint代替Math.floor:要对一个小数进行四舍五入,你第一时间可能会想到Math.floor方法,比如Math.floor(9.3213);而将这个数字强制转换为uint类型,可以得到相同个结果:uint(9.3213);更重要的是Flash Player处理uint的速度要比Math.floor快的多。

     乘法运算要比除法快两倍:x=(stage.stageWidth/2);与x=(stage.stageWidth*0.5);的结果是一样的,但是乘法的运算效率要比除法快两倍。

     尽量使用查找表:查找表实际是就是一个普通的Array,不过它的数组元素在游戏初始时已经计算好并存储进去了。很显然Flash Player在运行过程中去读取一个值要比计算出这个值要快的多。 避免频繁的创建和删除对象动作:对于要从舞台中删除的对象,如果稍后还会再用到这个对象的话,使用visibility=false将其“删除”,而不是使用removeChild把它从显示列表中删除。因为Flash Player中重建对象要比隐藏对象复杂的多。

     使用对象池:在游戏初始化时,把所有需要的对象存放到一个数组中。当需要删除和重建对象是,只需要声明一个对象引用数组中的这个对象即可。这比重新new一个对象出来要快多了。

     位运算有时候会更快:位运算的计算方法和CPU的处理数据本质上是一致的,跟CPU讲它的“母语”,它“理解”起来,做起来自然就更快了!

  • 相关阅读:
    1107 Social Clusters (30分)
    1108 Finding Average (20分)
    1109 Group Photo (25分)
    js-字符串(String)方法大全
    js-数组(Array)方法大全
    js-产生随机验证码的具体案例
    js-事件细节详解以及案例
    js-数据类型转换(强制转换、隐式转换)和数据运算符(包含三目运算符)详解
    css3-文本阴影(text-shadow)和盒子阴影(box-shadow)详解及其案例
    css3-动画animation详解及其案例
  • 原文地址:https://www.cnblogs.com/sinsoul/p/1872513.html
Copyright © 2011-2022 走看看