【Android遊戲開發二十六】追加簡述SurfaceView 與 GLSurfaceView效率!

    

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


今天在這裏大概說下如今爲何遊戲引擎都趨向與openGL進行的,這裏大概說下;css

當今基本全部的國外遊戲都是質量很好,無論是從視覺上仍是操做仍是流暢度上,那麼今天咱們關注的是其流暢度;html

首先有經驗的遊戲開發者,尤爲是一直作2D遊戲開發的童鞋門,從J2me到Android,不少作Android的都是從J2me過來的,那麼對於J2me-3D開發的基本不多,緣由很少說,對於Kjava的機器我也沒什麼再噴的,反正我是受夠折磨了;java

不少開發者對外國的遊戲狠感慨,爲何他們作的遊戲都是那麼流暢,不丟幀,其實狠明確的跟你們說,他們大部分遊戲都是基於openGL進行的開發,無論是3D仍是2D;下面詳細說下緣由:android

對於剛接觸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加速技術;優化

下面總結一下:google

         通常2D遊戲使用SurfaceView足夠,畢竟我以前公司作的網遊就是用SurfaceView作的,狠流暢,因此不要認爲何都要使用GLSurfaceView(openGL),並且   GLSurfaceView的弊端在於適配能力差,由於不少機型中是沒有GPU加速的;關於GPU童鞋門不知道的本身百度,這裏很少說了;spa

無論是作什麼遊戲,對於開發者而言,流暢是最重要的;再好的遊戲幾幀左右,誰都哭;.net

無論使用SurfaceView仍是GLSurfaceView,只要內存優化作的好,都基本無差(排除2D\3D遊戲差別);但願無論當前你是否看了此文章想將當前的項目換個GLSurfaceView框架仍是如何如何,我都但願你靜下心來,好好的優化你的內存先,不要總把問題推到SDK和硬件上,畢竟google提供了那就確定不會那麼不效率的,不然人家也不會閒着沒事給你整那麼多事情來;

對於初學者千萬不要顧慮這些,對你來講,遊戲的思想是最重要的,多作項目纔是王道,不然給再給你個地球,你都認爲它2012年也會爆炸,你懂的~





原文連接: http://blog.csdn.net/xiaominghimi/article/details/6665952
相關文章
相關標籤/搜索