2012-05-17 46 views
0

我已經使用SurfaceView編寫了一個應用程序。看起來有一件事是降低應用程序的幀率,它需要一段時間才能繪製一些位圖,並且還需要一些時間才能使用畫布繪製幾行和幾個圓。我想通過使用GLSurfaceView來嘗試和改進這一點。不是因爲較慢的幀速率是一個問題,而是因爲我只想在OpenGL ES中嘗試一下。無論如何,做2D繪圖,我應該用OpenGL 1.0還是OpenGL 2.0?我也想這個應用程序儘可能多的設備上工作。用於2D繪圖的OpenGL ES 1.0或2.0

+0

如果你只使用2D,那麼爲什麼不使用畫布? http://developer.android.com/reference/android/graphics/Canvas.html – fazo

+0

我已經使用畫布和surfaceView編寫了應用程序。我想嘗試再次編寫相同的2d應用程序,而是使用openGL。這主要是學習openGL的一個練習,但我也很好奇它是否會比SurfaceView/canvas版本的應用表現更好。這就是爲什麼我想知道用gl2.0代替gl1.0會更好。最終我會亂七八糟的東西,但我想開始只是重寫這個現有的2D應用程序。 –

+1

對不起,我沒有仔細閱讀你的問題。正如我記得你在opengl es 1沒有着色器,這意味着它會更容易,因爲你不需要學習寫它們。在opengl es 2(不是100%肯定)你需要編寫着色器。所以我會去opengl es 1,但是你可以擴展它,做opengl es 2版本並添加着色器代碼。這並不複雜,只需簡單的繪製,您可以從不同的手冊/書籍複製/粘貼 – fazo

回答

1

GLES 2適用於Android 2.2及更高版本。如果支持所有你想要的設備,我會選擇GL2,因爲隨着時間的推移,GL1只是越來越多地走出窗口。如果您對未來的圖形感興趣,則固定管道不是您的選擇。如果你學習GLES2,你可以在以後將知識帶到更先進的事物中。

+0

我明白了,謝謝。看起來似乎有一個更大的學習曲線,但聽起來像是更值得考慮事情的方式。謝謝。 –