背景介紹
在游戲開發中,AssetBundle 構建耗時是影響游戲開發效率的一環。在先前的 篇中,我們提出了若干優化方案,收到了開發者們的積極反饋以及希望能夠進一步提升構建效率的呼聲。這一次我們帶來的AssetBundle 多進程并行構建提升,通過并行處理,開發者可以充分利用多核處理器的優勢,大幅降低 AssetBundle 構建耗時。此外還可以配合 Profiler 工具,開發團隊能夠監控構建過程中的性能數據,識別瓶頸并進行配置的優化。這使得開發團隊能夠在資源管理上更加靈活與高效。
多進程并行構建 AssetBundle
需求與痛點
在現代游戲開發中,項目的資源數量龐大,然而傳統的 AssetBundle 構建流程采用完全單線程執行模式,無法充分利用現代多核處理器的強大計算能力,導致構建過程耗時漫長,嚴重制約了開發迭代效率。特別是在需要頻繁打包測試的開發階段,開發者經常需要等待數十分鐘甚至數小時才能完成一次完整構建。這種低效的構建方式不僅影響了開發節奏,還降低了團隊整體生產力。為了解決這一行業痛點,多進程并行構建技術通過將龐大的資源構建任務分配到多個進程中并行處理,充分發揮多核心硬件的優勢,實現構建效率的提升。
新功能介紹
多進程并行構建通過充分利用多核處理器的并行處理能力,顯著提升大型項目的資源構建效率。主進程拉起多個 Build Worker 進程,將 AssetBundle 構建任務分發,每個進程獨立處理自己的構建任務。AssetBundle 構建的速度會根據配置的 Build Worker 數量成倍提升。兼容現有的 AssetBundle 構建 API,只需添加一個額外的標志即可啟用多進程構建。配套了用于檢視 AssetBundle 構建過程的 Profiler,可視化多進程構建提升效果。
使用方式
平臺要求:Windows Editor
版本要求:團結引擎 1.8.0 以上
- 啟用多進程并行構建
在調用 BuildAssetBundle API 時,向 BuildAssetBundleOptions 添加
BuildAssetBundleOptions.MultiProcessAssetBundleBuilding可以在 Project Settings -> Editor 中配置 Build Worker 的數量
![]()
推薦數量計算公式如下:
工作進程數量 = (可用系統內存 - 系統保留內存) / 每個AssetBundle構建進程所需內存 - 1(為主進程保留)示例:(32GB - 4GB)/ 5GB - 1 = 4
- 啟用 BuildPipeline Profiler
通過啟用 BuildPipeline Profiler 分析開啟多進程并行構建的提升效果
在 Preference -> Diagnostics 下勾選 BuildPipelineProfiler
![]()
開啟后打包完成時會在工程根目錄 Logs 目錄下生成
BuildAssetBundlesProfileData.json
*在谷歌瀏覽器中輸入 chrome://tracing/,并導入Json文件,可視化分析 Build AssetBundle 用時
實際效果與測試數據
通過 BuildPipeline Profiler 獲取某個重度項目 AssetBundle 構建用時,在同一環境上比較開啟多進程并行構建與否的數據。開啟多進程并行構建時,配置了 6個BuildWorker。
未開啟,AssetBundle 構建用時約 4604s
![]()
開啟多進程并行構建功能,AssetBundle 構建用時約1041s
![]()
測試結果
![]()
![]()
總結與展望
通過實現 AssetBundle 的多進程并行構建,團結引擎的構建效率繼續提升。關于該功能,未來還將推出多臺設備分布式并行構建,以降低對設備硬件的要求。同時我們也關注用戶體驗的改進,CI/CD 支持、構建進度追蹤、子進程構建報告、數據分析等內容將逐步完善。團結引擎資產管理的使用體驗將持續優化,助力開發者高效打造精品游戲。
Unity 官方微信
第一時間了解Unity引擎動向,學習進階開發技能
每一個“點贊”、“在看”,都是我們前進的動力

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.