Browsed by
月份:2014年6月

关于有限状态机(FSM)的思考

关于有限状态机(FSM)的思考

有限状态机(finite state machine)是一个数学概念,如果把它运用于程序中,可以发挥很大的作用。它是一种协议,用于有限数量的子程序(“状态”)的发展变化。每个子程序进行一些处理并选择下一种状态(通常取决于下一段输入)。有限状态机(FSM)可以用作程序的控制结构。FSM对于那些基于输入的在几个不同的可选动作中进行循环的程序尤其合适。

 

在游戏中涉及到状态状态切换的时候,可以尝试使用这种机制,如人物的动作,AI行为等等。有限状态机确保了每个状态在切换的时的安全性,在状态切换时可以进行一些其他的处理操作。

当然也有人认为有限状态机时代已经终结,如这篇文章:http://www.cppblog.com/woaidongmao/archive/2009/10/31/99892.aspx

 

ATF加载时间测试(IOS)

ATF加载时间测试(IOS)

最近在优化项目的资源文件atf加载上传时间,在iPhone上做了一点测试,数据共享下!

atf_upload_test

 

说明:

整图—整张640×1136的图,直接转的atf(命令参考:png2atf -c p -q 0 -n 0,0  -i a.png -o a.atf

拆分成4个:即把整图分别拆分为512×1024、128×1024、512×112和128×112这个尺寸的小图。

硬件环境:iPhone4/4s/5

软件环境:FB4.7+airsdk14+Starling1.4

从上面表中可以看出在iPhone4上基本近3s的时间(我记得去年在iPhone4上测试640×960的整图也基本是这个时间,看来air+starling改进很多的样子)。目前iPhone4的用户比例大约6%(朋友提供的,数据不权威,真实情况会有浮动),WWDC2014刚刚开完,iPhone6再过一段时间也要发布了,相信iPhone4用户比例在新机发布后会更进一步降低,当然如果那个iPhone4用户依然还不愿换手机的话,那么我想你也别指望让他给你的游戏付费了。总之,目前的开发标准应该瞄准iPhone4s,确保在iPhone4s上运行流畅即可,至于iPhone4,呵呵,不崩溃就行了!

关于安卓,一直以来,安卓的atf上传时间都要比iPhone快一些,atf品质也好一些,搞的定iPhone就不用担心安卓了!

在PC,加载相应png格式资源,整图需200+毫秒,而拆分后的,反倒需要400+毫秒。