← 返回首页

鹰角首曝《终末地》底层代码突破:自研ECS与原生C++管线实现跨平台性能飞跃

橘猫新闻 综合报道 在近日于韩国首尔举行的Unite Seoul开发者大会上,鹰角网络技术中心负责人Will首次公开了《明日方舟:终末地》在底层代码层面的突破性优化方案,引发行业关注。这场题为“重构《明日方舟:终末地》”的演讲被标注为“进阶”级别,是议程中唯一来自中国游戏公司的项目分享,现场座无虚席,演讲结束后众多开发者排队与Will交流。

鹰角首曝《终末地》底层代码突破:自研ECS与原生C++管线实现跨平台性能飞跃

Will在演讲中系统披露了鹰角对Unity引擎的深度定制化改造,核心包括四项:自研ECS数据内核,用于支撑每帧数万个可渲染对象的高吞吐处理;重构剔除、排序与批处理链路,使多个视图共享同一份可见性数据;将关键运行时渲染管理改为自写的原生C++管线;底层采用沿用Vulkan语义的设备抽象,屏蔽平台差异。Will强调,这套架构使游戏在主流PC、主机及移动端旗舰机上能以60帧甚至更高帧率运行高画质,一帧完整预算仅16.66毫秒,CPU端遮挡剔除时间被压缩至零点几毫秒。

据Will介绍,团队自研的ECS框架进行了激进取舍:约70种component ID在编译期写死,使用固定128-bit mask描述组件组合,job直接采用原生C++和显式fence,磁盘文件与运行时chunk尽量保持相同布局,结构变更集中批处理。这种定制化使加载预制数据时基本可通过一次memcpy直接搬入内存,大幅提升效率。此外,团队还实现了CPU软件遮挡技术:从场景中挑选几百个主要遮挡物,制成简单遮挡片,在CPU端变换为屏幕空间三角形并绘制低分辨率深度图,剔除被完全遮挡的对象。该技术并非临时灵感,而是先由技术团队开发出能力,再推荐给美术和策划用于场景设计。

Will透露,早期尝试套用Unity原生方案时,游戏难以稳定达到30帧;通过自研ECS、连续内存、多线程剔除、一次排序和原生C++管线,才实现当前性能目标。他解释,手写代码并非为了炫技,而是面对高精度角色(PC端8万至10万面,移动端4万至5万面)、大量动态对象、无缝箱庭及跨平台一致性要求的复合高压,通用方案难以满足。此次演讲为“会场限定”,未安排线上直播或录像,但Will在回国后接受采访时进一步补充了技术细节,强调这些优化均基于对Unity底层架构的深度改动。