今日在这儿大约说下现在为什么游戏引擎都趋向与openGL进行的,这儿大约说下;
当今根本一切的国外游戏都是质量很好,不论是从视觉上仍是操作仍是流通度上,那么今日咱们重视的是其流通度;
首要有经历的游戏开发者,尤其是一向做2D游戏开发的童鞋门,从J2me到Android,许多做Android的都是从J2me过来的,那么关于J2me-3D开发的根本很少,原因不多说,关于Kjava的机器我也没什么再喷的,横竖我是受够折磨了;
许多开发者对外国的游戏狠慨叹,为什么他们做的游戏都是那么流通,不丢帧,其实狠清晰的跟我们说,他们大部分游戏都是根据openGL进行的开发,不论是3D仍是2D;下面具体说下原因:
关于刚触摸Android游戏开发的来说,首要印在心思的便是运用SurfaceView画布进行游戏开发(除3D游戏外),那么开发过程中,越来越多的开发者都开端对Android的运转内存发生置疑(Android运转内存相关于Kjava的机器那可是大了许多),由于都开端又再次重视内存的运用;动不动就卡,就OOM,我去~狠经典的Error~
一般2D游戏开发运用SurfaceView满足,由于它也是google专们扩展用于2D游戏开发的画布;可是很早前我做过测验:
运用一般的游戏画布(Android中2D专用游戏画布)中进行制作图片,然后在GLSurfaceView(Android中3D游戏专用画布)中烘托图片的比照中发现GLSurfaceView的功率高于SurfaceView的30倍~呵呵,高了30倍的功率~这是什么概念,可想而知;GLSurfaceView的功率首要是由于机器硬件的GPU加快,现在flash技能也有了GPU加快技能;
下面总结一下:
一般2D游戏运用SurfaceView满足,究竟我之前公司做的网游便是用SurfaceView做的,狠流通,所以不要以为什么都要运用GLSurfaceView(openGL),并且 GLSurfaceView的坏处在于适配能力差,由于许多机型中是没有GPU加快的;关于GPU童鞋门不知道的自己百度,这儿不多说了;
不论是做什么游戏,关于开发者而言,流通是最重要的;再好的游戏几帧左右,谁都哭;
不论运用SurfaceView仍是GLSurfaceView,只需内存优化做的好,都根本无差(扫除2D\3D游戏差异);期望不论当时你是否看了此文章想将当时的项目换个GLSurfaceView结构仍是怎么怎么,我都期望你静下心来,好好的优化你的内存先,不要总把问题推到SDK和硬件上,究竟google供给了那就必定不会那么不功率的,不然人家也不会闲着没事给你整那么多工作来;
关于初学者千万不要顾忌这些,对你来说,游戏的思维是最重要的,多做项目才是王道,不然给再给你个地球,你都以为它2012年也会爆破,你懂的~