背景介绍
在游戏开发中,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.