![]()
這是第457篇UWA技術知識分享的推送,精選了UWA社區、UWA AI問答的熱門話題等技術知識點,助力大家更全面地掌握和學習。
UWA社區主頁:community.uwa4d.com
UWA QQ群:793972859
本期目錄:
哪些因素和參數會影響Bloom的性能開銷
- 為何Scripting Threads的 線程數量異常
From UWA AI 問答
Q:哪些因素和參數會影響bloom的性能開銷?
A:Bloom(泛光)的性能開銷主要來自GPU帶寬、計算量與多級采樣次數,其關鍵影響因素和可調參數如下:
一、核心性能影響因素
1. 采樣分辨率與下采樣層級
Bloom默認從1/2渲染分辨率開始逐級下采樣(如Blur1–Blur5),分辨率越低(如1/16)、層級越多,帶寬越低但模糊質量下降;反之,高分辨率采樣(如1/2)顯著增加紋理讀取帶寬和顯存吞吐壓力。
移動端建議從1/4或1/8起始,減少首層采樣開銷。
2. BloomQuality級別
r.BloomQuality=5(默認)啟用全部5層模糊+高質量卷積,開銷最大;=1~3可禁用部分層級或使用簡化高斯,大幅降低GPU耗時。
3. ScreenPercentage控制卷積精度
r.Bloom.ScreenPercentage=50表示FFT卷積在50%分辨率下執行;提高該值(如至100%)會線性增加計算與帶寬,需謹慎權衡。
4. 泛光卷積(Convolution)啟用
啟用Bloom Convolution會觸發FFT卷積運算,依賴全分辨率內核紋理+額外緩沖區(r.Bloom.ConvolutionBuffer),顯著提升GPU計算與顯存帶寬壓力,僅推薦高端設備或離線渲染使用。
5. 后處理鏈路疊加效應
Bloom常與Tonemapping、Depth of Field、Motion Blur等串聯,導致多次全屏紋理讀寫。尤其在移動平臺,多Pass后處理易引發帶寬瓶頸(實測可達總GPU帶寬的20%+)。
二、關鍵可調控制臺變量(Unreal Engine)
![]()
三、優化建議
? 優先降級BloomQuality+ScreenPercentage,比關閉Bloom更能平衡畫質與性能;
? 使用Stat GPU和Stat RHI定量定位Bloom耗時(查看PostProcessBloom階段);
? 避免在低端機啟用Convolution或Dirt Mask(額外紋理采樣+混合);
結合r.VSync與幀率限制,防止Bloom在高幀率下反復重采樣。
注:Bloom對GPU溫度與功耗影響顯著 —— 實測10GB/s帶寬可貢獻約1000mW功耗(占整機20%+),是移動端發熱主因之一。
分享鏈接 :
https://www.uwa4d.com/main/uwa-shared.html?shareId=f3f99f69-7e55-4af8-9a58-2531d33ec39a
From UWA AI 問答
Q:請教個問題, 我們有用到線程池, 我在Profiler的時候看到在Scripting Threads里面有幾十個的線程顯示, 這個是正常的嗎?
A:是不正常的,需立即排查。
Unity的Profiler中出現大量名稱為 的Scripting Threads,通常表明:
?線程未正確命名或未注冊:Unity默認對System.Threading.ThreadPool中的線程不自動命名,Profiler無法識別其用途,統一顯示為(或空名+編號)。
??線程泄漏風險高:若線程池長期持有大量閑置線程(尤其在Unity 2019 – 2022版本中),可能因ThreadPool.SetMinThreads調用不當、異步任務未完成/未釋放、或Task.Run+長阻塞操作導致線程堆積。
?非Unity管理線程被誤納入Profiler視圖: 線程無法通過Profiler.BeginThreadProfiling()注冊,說明它們未被主動追蹤,也意味著你無法在Timeline中定位其耗時來源。
建議動作:
檢查是否濫用Task.Run或ThreadPool.QueueUserWorkItem;優先改用Unity Job System或Unity.Collections.LowLevel.Unsafe異步方案。
確認無new Thread(...).Start()后未調用Profiler.EndThreadProfiling()(否則資源泄漏且線程殘留)。
在Editor中啟用Call Stacks+Deep Profiling,篩選GC Alloc/CPU高耗時幀,定位創建線程的調用棧。
使用UWA GOT Online的Mono/Threading模塊,查看線程數趨勢與存活時間,確認是否隨游戲時長持續增長。
注:Unity官方不鼓勵直接使用.NET線程池進行高頻短任務調度 —— Job System才是跨平臺、可Profiler可視化的首選。
分享鏈接 :
https://www.uwa4d.com/main/uwa-shared.html?shareId=3ba6d84d-9e4e-4fb2-a66f-f6fdc562b15f
無論是社區里開發者們的互助討論,還是AI基于知識沉淀的快速反饋,核心都是為了讓每一個技術難題都有解、每一次踩坑都有回響。本期分享分別來自UWA AI問答和UWA問答社區,希望這些從真實開發場景中提煉的經驗,能直接幫你解決當下的技術卡點,也讓你在遇到同類問題時,能更高效地找到破局方向。
封面圖來源于網絡
今天的分享就到這里。生有涯而知無涯,在漫漫的開發周期中,我們遇到的問題只是冰山一角,UWA社區愿伴你同行,一起探索分享。歡迎更多的開發者加入UWA社區。
UWA官網:www.uwa4d.com
UWA社區:community.uwa4d.com
UWA學堂:edu.uwa4d.com
點擊下方名片關注我們,將我設為星標,及時接收小編每日推送哦,性能優化不迷路~
近期精彩回顧
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.