2011-08-02 73 views
0

在我看來,我有一個簡單的ARGB drawable,需要大約2ms來繪製,但是我可以在0.5ms以內繪製相同的文件作爲位圖(只是一些簡單的代碼,我不能認爲它是一個選項)。什麼是優化drawable的繪製速度的最佳方法?Android可繪製繪圖性能?

回答

1

這取決於可繪製的數量和每個繪製的次數。對於一個小數字,使用畫布(一個確切的數字也將取決於設備)我建議使用Canvas,因爲這是一個很好的更高層次的繪畫方法。

如果你想發佈很多圖片(想想成百上千),我會建議創建一個GLSurfaceView並使用openGL來渲染你的圖片,使用爲你的應用量身打造的VBO。如果沿着這條路線走,我還會推薦使用紋理表,因爲以代碼複雜性爲代價,性能將得到大幅提升。

但是,這也將取決於該類型的應用程序。我的背景是在遊戲開發中,所以我只使用openGL來獲得更好的性能。對於一個簡單的應用程序(沿着androidify的線)畫布應該沒問題。如果你想要一個簡單的OpenGL教程,我建議訪問Bergman關於該主題的一系列帖子(谷歌應該爲你提供一個鏈接)。這是一個很好的介紹openGL。

+0

Android中的OpenGLES不支持GLUtilities。在這種情況下,我們不能使用曲面細分來處理凹多邊形。另外,使用OpenGL繪製2D時,線程是一個問題。你有什麼建議嗎? – Howard