7.8
享受數百萬個最新的Android應用,遊戲,音樂,電影,電視,書籍,雜誌等。隨時隨地,您的設備遍布設備。
該應用程序針對開發人員,或任何對OpenGL和畫布之間的性能差異感到好奇的人。具體而言,它使用java和c的混合體明確地測量了繪製2D精靈的性能,並使用java的帆布繪製了2D Sprites。
完成測試後,您可以通過按下設備的背面按鈕來查看性能的基準分析。
它類似於克里斯·普魯特(Chris Pruett)的精靈方法測試,但已針對OpenGL ES 2.0進行了更新。他的Sprite方法測試運行了過時的ES 1.0,並在果凍豆(由於Tripple Buffering)上被打破。
該應用程序可在支持OpenGL ES 2.0的所有設備上工作。
這是無廣告且無符號的。
更多詳細信息:
具體而言,該應用程序使用java和c的混合體明確地測量了繪圖2D精靈的性能,並使用java的canvas繪製2D Sprites。
在每個幀:
背景色略微移動,在紅色和白色之間脈動。
每個精靈都會移動一個隨機的(高斯)數量。如果精靈的中心越過屏幕的邊緣,則精靈移動到隨機屏幕位置。
畫布測試使用SurfaceView和Canvas.drawBitMap()。所有計算均在float []上的Java(使用Random.nextgaussian()和Random.nextfloat())中完成。
OpenGL ES 2.0測試使用Java中的GLSurfaceView。計算是在本機浮點[]上使用C(使用Drand48()和與Java的高斯算法的內聯C等於Java算法的c進行計算。繪圖也是在C中使用gldrawarrays(gl_points,...)進行的。 C(NDK)方法稱為從Java到JNI的每個幀。
所有測試均具有Java分析操作的相同開銷。
統計數據:
FPS信息是關於何時實際發佈到屏幕上的框架(從技術上講,SurfaceFlinger)。
繪製信息是關於在OpenGL測試中發出() + glfinish()所需的時間。它不計算實際翻轉屏幕緩衝區的時間。
推送信息(僅VBO)是將頂點數據推到GPU緩衝區所需的時間。每幀通常為<.5ms(到0.000)。使用非VBO OpenGL測試時,這次基本上包含在繪圖時間中。在實際應用中,將數據推向GPU可能需要更長的時間。此示例僅包含一個VBO(或頂點陣列),每個精靈有2個浮子。實際應用程序將具有更多數據(例如大小和紋理信息)。
計算信息是關於計算框架背景顏色所需的時間和每個精靈的新位置。當啟用JIT時,Java(帆布)測試和本機(開放GL)測試之間的計算時間是可比的,但是在禁用JIT時,Java遭受了重大懲罰。
March 14, 2025
March 14, 2025
March 14, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 12, 2025
March 12, 2025
March 12, 2025