2013-11-03 56 views
0

我花了幾十個工時搜索谷歌,並在論壇上提出問題,試圖找出我的Android上的OpenGL ES 2.0應用程序是否由於我的錯誤,我的設備上的病毒,Android上的OpenGL實現,或三星Galaxy Express上的OpenGL實現。OpenGL ES 2.0是Android遊戲開發的標準嗎?

我發現什麼,如果有人想嘗試回答這個問題的根源我將不勝感激,但我的問題是,如果我要恢復到的OpenGL ES 1.0,如果這是其他人使用。

完全相同的應用程序(單個旋轉三角形)使用完全相同的時間步,唯一區別在於準系統OpenGL ES 1.0與OpenGL ES 2.0的更改導致2.0應用程序中的停頓和1.0應用程序中的流暢動畫。

其他遊戲只使用1.0?如果他們使用2.0,您能否指出我已知會造成不明顯的口吃的示例,以便我可以下載並在我的設備上進行測試?我已經從Google自己下載了OpenGL ES 2.0樣本,結果也一樣。

三星Galaxy Express是否優雅地處理OpenGL ES 2.0?有沒有辦法讓另一個Android設備沒有偷竊或問任何陌生人,我沒有錢。

謝謝。

回答

0

的事情是,OpenGL的(不只是ES)是一個規範,其他部分的執行不被任何人管轄,以及由規範在一定程度上這意味着實現可以大大本書雖然它們不應該是不同的。 這是由於OpenGL使用客戶端驅動程序來處理命令,而這些命令是由GPU創建者(通常)編寫的。對於個人電腦,您可以輕鬆地命名所有重要的GPU製造商,nVidia和ATI,這樣至少可以知道期望的結果。

對於手機有很多GPU/CPU組合,所以更多的錯誤被發現,因爲錯誤或錯誤形式的開始設計,而不僅僅是GPU的驅動程序,因爲手機的創建者也可能會更改系統或使用低速度/漸變部分,這將導致性能不佳。

的OpenGL ES 1.0,我會說是因爲2.0多見,主要是因爲它的向後兼容,以便支持2.0的設備肯定會支持1.0爲好。對於開發,您可以通過在PC上構建框架並使用模擬器(OpenGL ES)來跳過整個「在手機上構建」的事情,並且只需將OpenGL代碼複製到手機應用程序中即可。

由於製造商試圖保持低成本,他們傾向於謊言他們實際上做什麼,或支持,所以ES 1.0比2.0更簡單和硬連線可能是滯後可能是由於支持不佳OpenGL的。

0

我注意到很多人似乎都符合OpenGL ES驅動三星Android設備的麻煩。您應該嘗試使用不同圖形核心的其他設備。

由於冰淇淋三明治,Android平臺本身大多使用OpenGL ES 2.0,包括主要的部件,如SurfaceFlinger的。它不再是可選的。退房this article.