cocos creator: 性能指標


  • Frame time(ms)每一幀的時間。《RAIL模型》建議在10毫秒或更短的時間內制作動畫中的每一幀。從技術上講,每幀的最大預算為16毫秒(1000毫秒/每秒60幀≈16毫秒),但是瀏覽器需要大約6毫秒才能渲染每幀,因此建議每幀10毫秒或者更短

  • Framerate(FPS)幀率,也叫每秒傳輸幀數(FPS:Frames Per Second),是指畫面每秒傳輸幀數,通俗來講就是指動畫或視頻的畫面數;每秒鍾幀數越多,所顯示的動作就會越流暢,舉個例子電影的幀頻是24,也就是說1s需要播放24張圖片,但是實際上在游戲過程中一般人能接受的最低FPS約為30Hz。幀率也非越高越好,因為顯卡處理能力=分辨率×刷新率,分辨率不變的情況下,幀頻越高,GPU處理的數據量也會激增,引起卡頓。同理,分辨率也不是越高越好。在某些終端的性能面板下也會展示這三個相關的參數:rt-fps:實時幀率;ex-fps:極限幀率;min-fps:最小幀率;

  • Draw call 。CPU和GPU是並行工作的,它們之間存在一個命令緩沖區。當CPU需要調用圖形編程接口的時候就會往命令緩沖區里面增加命令,當GPU完成上一次渲染命令的時候就會繼續從命令緩沖區中執行下一條命令,命令緩沖區里面的命令有很多種,而drawcall就是其中的一種。CPU在提交drawcall的時候需要處理很多東西,比如一些數據、狀態、命令等等,有些渲染卡頓問題就是因為GPU渲染速度比drawcall的提交速度快,可能上一次渲染完了,CPU還在計算drawcall,所以drawcall的性能瓶頸在於CPU。優化drawcall最有效的方法合批渲染,就是把大量小的drawcall合並成大的drawcall,減少drawcall的數量

  • Tris 和 Verts是渲染的三角面數以及頂點數,在webgl中只有三種基本圖元,分別是點、線段和三角形,無論多么復雜的模型本質上都是由這三個基本圖元繪制而來的,無論形狀多么怪異,它們的本質都是由一個個頂點組成,GPU 將這些點用三角圖元繪制成一個個的微小平面,再把這些三角網格互相連接,就能繪制出各種復雜的物體了;

    一般來說模型的頂點和三角形數越低,模型的復雜度就會越低,所以這兩個參數在3D模型中比較有參考意義,設計師在輸出3D模型的時候一般都會幫忙去合並一下網格。但是在大部分情況下,我們都會認為性能瓶頸在drawcall,比如有兩種情形,情景一是有1000個物體,每個物體的頂點數是10,情景二是有10個物體,每個物體的頂點數是1000,哪個情景的性能更好?首先我們要明白GPU的渲染速度是非常快的,渲染10個頂點組成的三角圖元和1000個頂點組成的三角圖元通常沒啥區別,所以這兩種情形中產生drawcall更少的情景二性能更好。當然如果你在shader里面對頂點做了一些特殊的處理,比如復雜的計算啥的,那就得權衡一下這兩個指標的大小影響了


  • 免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM