北大青鸟教育 主页 > 北大青鸟热门技术 > 安卓技术 > 正文

Android游戏开发中的优化策略绘图优化

2012-07-22 17:25 点击咨询

   徐州北大青鸟老师给大家讲解关于安卓游戏开发过程中绘图策略优化的几个技能点,喜欢安卓的技术人员要注意了。

    1、脏矩形:每次都重绘整个背景图,其实是非常浪费的,前后两帧的图其实只有很少的一部发生了变化,因此可以只重绘变化的部分。这是一种常用的绘图优化方式,需要注意的是,android用了双缓冲,也就是说,使用脏矩形的时候,需要连续绘制两次才能完成对surface的刷新。
    2、卷屏:这是常用的一种方法,缓存整张背景图,抽象出一个可视窗口,仅显示窗口中的内容,窗口的移动方向与sprite相同,与背景运动方向相反。android游戏背景图的分辨率一般与屏幕的相同,这种方法很少会被用到。

    引擎优化:
    1、流水作业化资源:简单来说,就是整合资源,不用的资源就及时释放,需要用到的资源再加载,类似流水线生产过程。比如,游戏加载过程中,当前关卡(场景、模式等等)使用不到的音乐或者图像资源就全部释放,仅加载需要用的资源;用不到的线程,不要让它休眠,一定要把它干掉;如果有的资源只用得到一部分,那么就拆解开来,仅加载需要的部分。
    2、状态转移逻辑:游戏开发前一定要想清楚状态转移,冗余的状态变化将损耗框架的整体性能,对游戏流畅性的影响以及后期修改的成本往往是远远超出预期的。不要怕费力,一定要认真优化状态转移过程。此外,activity之间切换、ui线程和游戏线程之间的切换,都是非常花费时间的,应该尽力避免。

    游戏逻辑优化:
    1、预处理:尽可能地预处理游戏逻辑中的运算。比如游戏中经常要用到随机数,就应该在游戏开始之前,生成足够的随机数供游戏逻辑调用,千万避免使用系统自身的rand()函数。这种优化方式难度比较大,但是往往是突破瓶颈的最有效手段。
    2、算法优化:这个没有什么好多说的,算法功底和经验积累很重要,单干搞不定的,赶快找同事帮忙。
    3、语法优化:语法对运行速度也有很大影响,比如for循环,不同的写法,时间开销差别极大。

徐州市中博教育培训中心    版权所有    苏ICP备13053530号
地址:徐州市解放南路181号北大青鸟徐州中博(六中对面)        矿大校区地址:徐州市解放南路中国矿业大学(文昌校区西校区)
电话:400-887-5191        邮编:221000

苏公网安备 32030302000208号