snapdragon profiler的calculate stat模式

https://software.intel.com/zh-cn/articles/opengl-performance-tips-avoid-opengl-calls-that-synchronize-cpu-and-gpu

王者的某個場景的snapdragon profiler分析結果,利用抓幀在右上角的calculate stats自動分析該幀的內容,以下收集整理做個介紹。

API Calls:調用的api個數,每個dp下都有很多的gl函數調用api

Redundant Calls:冗餘的call的數量和佔比,佔api call的比例

query call:暫無

重度的api的調用情況(以下的api都是相當影響性能的):

Texture Data Updates:貼圖數據的update的次數

VBO Data updates:VBO是vertex buffer object,頂點緩衝對象,這個頻率比較高,(自己理解)跟cache hit命中相似,說明再頻繁更新數據,這個VBO本來就是爲了防止頻繁更新數據的。

https://blog.csdn.net/dcrmg/article/details/53556664

http://www.opengl-tutorial.org/cn/intermediate-tutorials/tutorial-9-vbo-indexing/

glFinish,glFlush:這兩個是強制gl指令執行的命令,以往gl的指令是先放在指令執行隊列裏面的,這兩個api直接強制執行,glFinish破壞了CPU和GPU的並行性,比較耗費。glFlush不詳

glCompileShaderCall:字面意思也可以看出這個很耗,編譯shader的

glProgramBinaryOES:從持久化Blob中讀取數據並直接加載到程序中(存疑)

glLinkProgramCall:編譯鏈接的程序對象的

glReadPixels:把已經繪製好的像素(它可能已經被保存到顯卡的顯存中)讀取到內存,會強制CPU和GPU同步

glRenderbufferstorage call:創建存儲空間

Render call:draw call數量,gldrawarray和gldrawelements,glclear不包括

幾何體的相關數量:

total vertices一共頂點數

total primitive一般是3角形,片元

後面幾個每次draw的頂點數,可以顯示對應的頂點利用率

total texture usage:用到的貼圖數量

overdraw:overdraw的嚴重程度

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章