幫你把關 Shader 變體問題!UWA 本地資源檢測又更新!
UWA本地資源檢測最近動作頻頻,應廣大使用者要求,我們在最新的1.2.0版本中增加了Shader Analyzer功能模組,同時還新增了若干條資源相關規則,下文我們就來詳細說明。
一、新增Shader Analyzer 功能模組
Shader Analyzer模組的主要功能有兩點:
1.專案Shader指令碼掃描分析(支援任意版本的Unity)
掃描專案中的Shader指令碼,分別統計shader_feature和multi_compiler類的區域性和全域性關鍵字個數,根據專案中Material上開啟的關鍵字情況計算可能生成的變體數。
該功能對應的規則有2條:
- 專案中可能生成變體數過多的Shader
- 專案中全域性關鍵字過多的Shader
2.模擬Build變體分析(支援Unity 2018.2及以上的版本)
自動按照使用者的配置進行模擬build,統計build出來的Shader名稱、變體數和關鍵字個數。該功能對應的規則為:
- Build後:生成變體數過多的Shader
需要說明的是,自動Build功能會預設按照使用者當前的配置自動進行,並且Shader Analyzer的Build操作是單純用於統計Shader變體資訊的“模擬Build”,為了加快統計效率,省去了Shader指令碼編譯的過程,Build結果不可實際使用。
若研發團隊想自定義Build設定,也可在本地資源檢測外掛包中的指令碼UwaProjScanLauncher.cs中修改以下函式。Shader Analyzer會按照該函式設定的方案進行模擬Build。
此外,本地資源檢測的舊規則“紋理取樣數過多的Shader”被納入Shader Analyzer模組。
二、新增三條檢測規則
名稱及描述如下:
1、使用了Standard Shader的材質球
Standard Shader可能生成非常多的變體,雖然Shader指令碼本身佔用的記憶體小,但其載入耗時會非常高,ShaderLab記憶體佔用也比較高,不建議大家直接在專案中使用。
2、開啟各向異性過濾的紋理
對紋理進行各向異性過濾對於地面等物體的顯示會有增益,但同時會帶來較高的效能開銷,建議排查。
3、開啟Prewarm的粒子系統
粒子系統的Prewarm操作會在使用時的第一幀中造成相對集中的CPU耗時,很可能會造成執行時區域性卡頓,建議考慮是否確實需要開啟該選項,如果可以不用則將其關閉。
建議大家及時更新到最新版本(1.2.0),體驗新功能喔!對於這些檢測的知識點補充,我們將在日後的微信文章中詳述,歡迎大家關注。已釋出的檢測規則知識點,我們也將持續更新。
《動畫優化:關於AnimationClip的三兩事》
《材質優化:如何正確處理紋理和材質的關係》
《紋理優化:讓你的紋理也“瘦”下來》
《紋理優化:不僅僅是一張圖片那麼簡單》
萬行程式碼屹立不倒,全靠基礎掌握得好!
效能黑榜相關閱讀
《那些年給效能埋過的坑,你跳了嗎?》
《那些年給效能埋過的坑,你跳了嗎?(第二彈)》
《掌握了這些規則,你已經戰勝了80%的對手!》
相關文章
- 瀏覽器訪問本地資源 - 只能用於測試(把file:///對映為http://)瀏覽器HTTP
- 各位大哥,jboss配置資料來源的問題,幫幫忙!
- 本地資源檢測新增 UI 介面|更易用、更絲滑UI
- Git檢視本地幫助文件Git
- 通用連線池幫你解決資源管理難題
- JavaScript變數,資料和記憶體的相關問題JavaScript變數記憶體
- 一行程式碼幫你檢測Android多開軟體行程Android
- synchronized關鍵字問題?各位高手,幫幫忙!synchronized
- Airphone手機殼幫你把iPhone變成雙卡雙待AIiPhone
- hibernate修改資料庫後的不能在本地更新的問題!!資料庫
- 實時更新顯示問題清高手幫忙!!
- 有關單體模式設計的問題,請大家幫忙模式
- 企業雲盤幫你解決資料被盜問題
- 文章相似度檢測軟體哪個好?幫你拉高文章原創值
- AIX系統資源檢測AI
- 關於線上檢測主執行緒卡頓的問題執行緒
- SoundSource5幫你解決音量問題
- 八款卓越開源工具幫你搞定資料視覺化難題開源工具視覺化
- 把資料拖進圖形介面,AI幫你預測業務,亞馬遜雲科技新功能亮了AI亞馬遜
- 關於軟體測試七個核心問題
- 自媒體文章檢測工具,檢測你的文章,提高你的質量
- 檢測磁碟空間問題
- 宏病毒檢測問題 (轉)
- 檢測ftp連線問題FTP
- Mobile Web 除錯指南(1):把靜態資源指向到本地Web除錯
- 急不理解的問題,大家幫幫忙,關於jive
- [譯] 關於 Angular 的變化檢測,你需要知道的一切Angular
- [譯] 關於Angular的變更檢測(Change Detection)你需要知道這些Angular
- [Angular][translate]有關Angular的變更檢測Angular
- Oracle內聯檢視更新遇到的問題.Oracle
- 搭建本地軟體源
- UWA 學堂上新|如何構建資料分析體系
- 文字檢測與識別資源
- 資源洩露檢測《續》薦
- 關於軟體測試的7個核心問題
- 關於JProfiler監測記憶體佔用問題!!記憶體
- 檢測陣列更新陣列
- 關於java執行緒釋放資源問題Java執行緒