編輯:Android游戲開發
做游戲引擎總是傾向於使用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提供了那就肯定不會那麼低效率的,否則人家也不會閒著沒事給你整那麼多事情來。
對於初學者千萬不要顧慮這些,對你來說,游戲的思想是最重要的,多做項目才是王道。
如果你想對Android游戲代碼進行精簡和優化,那麼Android SDK提供
第3天:一個新的游戲點子 在網上泡Android相關論壇,找點子的時候,我看到了《Revenge of the Titans》的一則廣告。有著復古
1. 地圖滾動的原理實現 舉個簡單的例子吧,同
對於Android 的手勢不光在軟件中會經常用到,比如浏覽器中的翻頁