Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android游戲 >> Android游戲開發 >> Android游戲開發26:論SurfaceView與GLSurfaceView的效率

Android游戲開發26:論SurfaceView與GLSurfaceView的效率

編輯: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提供了那就肯定不會那麼低效率的,否則人家也不會閒著沒事給你整那麼多事情來。

       對於初學者千萬不要顧慮這些,對你來說,游戲的思想是最重要的,多做項目才是王道。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved