追加簡述SurfaceView 與 GLSurfaceView效率

本站文章均爲 李華明Himi 原創,轉載務必在明顯處註明:
轉載自【黑米GameDev街區】 原文鏈接: http://www.himigame.com/android-game/388.html

          ☞ 點擊訂閱 ☜
 本博客最新動態!及時將最新博文通知您!

今天在這裏大概說下現在爲什麼遊戲引擎都趨向與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年也會爆炸,你懂的~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章