你又可以大幅提公升專案效能啦!

2021-09-21 20:15:07 字數 2454 閱讀 1070

一、資源載入

重點分析專案通過resources和assetbundle的載入開銷,說明如下:

1. assetbundle資源載入

在assetbundle載入頁面中,使用者可以看到每個具體資源在專案檢測過程中的具體cpu耗時,同時我們在之前版本的基礎上還明確了資源的載入母體assetbundle資訊,這樣可以幫助研發團隊更加方便地定位和優化。

2. resource載入

支援使用者在resource載入頁面中對耗時選項進行排序,其資源載入耗時的top10即可一目了然。

特別說明:該新功能不僅可以讓使用者看到整體載入耗時和載入次數,同時還可以通過圖表來顯示具體每次載入的位置和耗時。如下圖,資源檔案cite_girl(圖中右上角)是通過assetbundle.load來載入的,可以看到在專案檢測過程中,該資源被頻繁載入,且每次載入耗時主要集中在100~200ms之間。

下圖中的speedraceui和uiscene_bjt是通過resources.load來載入的,可以看到在專案檢測過程中,該資源被頻繁載入,前者載入耗時主要集中在300ms左右,後者則主要集中在150ms左右。

gameobject例項化和銷毀耗時同樣是研發團隊非常希望掌握的乙個關鍵點。在uwa今天更新的版本中,我們將會讓研發團隊明確任何乙個gameobject在例項化和銷毀時的cpu占用情況。大家不僅可以看到最為耗時的gameobject,同時還可以看到其每次觸發的時間點。

下圖中的yx_dcjm_02,在遊戲過程中被頻繁例項化,且每次耗時均將近100ms,對此,研發團隊完全可以考慮將其快取,以避免後續0.1s的開銷。

gameobject active/deactive是研發團隊非常容易忽視的,大多數團隊認為狀態的切換開銷甚微,但正是由於這些「疏忽」導致了某些gameobject的active/deactive切換造成了大量的cpu耗時。

下圖則為遊戲檢測過程中,shadow的active/deactive的操作由於大量次數的累積,都是屬於乙個較高的耗時。

通過這些功能中的資料,研發團隊可以從以下幾點進行針對性優化:

以uwa的優化經驗來看,二八定律同樣適用於專案的開發管理,即80%的效能問題集中在20%的資源中。為此,我們將需要注意的top10的問題直接反饋給使用者(新版本中的「資源管理彙總」介面),使用者通過對這些重點物件的快速處理,能在短期時間內達到立竿見影的優化效果。目前主要包括:

(1)assetbundle的載入次數top10

(2)資源載入的次數和耗時top10

(3)gameobject 例項化/銷毀次數和耗時top10

(4)gameobject active/deactive次數和耗時top10

1. 截圖功能更新

在當前版本中,我們將專案的執行截圖從原來的 5秒/張 提公升為 1秒/張,從而反映更詳細全面的專案運**況,助您更犀利地洞察每乙個效能瓶頸,捕捉任何可以優化的機會!

2. ios sdk 更新

在當前版本中,我們大力完善了sdk的相容,主要包括:

Redis效能大幅提公升之Batch批量讀寫詳解

前言 提示 本文針對的是stackexchange.redis 一 問題呈現 前段時間在開發的時候,遇到了redis批量讀的問題,由於在stackexchange.redis裡面我確實沒有找到pipeline命令,找到的是batch命令,因此對其用法進行了 一下。下面的 是我之前寫的 public ...

Kafka2 6 0發布 效能大幅提公升

近日kafka2.6版本發布,距離2.5.0發布只過去了不到四個月的時間。kafka 2.6.0包含許多重要的新功能。以下是一些重要更改的摘要 如果要從2.1.x之前的版本公升級,請參閱以下注釋,以了解用於儲存使用者偏移量的架構的更改。將inter.broker.protocol.version更改...

記一次SQLtuning 效能大幅提公升千倍以上

好久不寫東西了,一直忙於各種雜事兒,恰巧昨天有個使用者研發問到我乙個sql調優的問題,說效能太差,希望我能給調優下,最近有些懶,可能和最近太忙有關係,本來打算問問現在的情況,如果差不多就不調了,那哥們兒說 現在要半個小時才出結果。這個確實有點離譜,這麼慢的效能,再有耐心的人也等不及,沒辦法,只能開工...