虚幻引擎专家发起“Great Hitch Hunt”计划,旨在消除虚幻引擎游戏中的卡顿现象,并提供开发者建议

虚幻引擎专家发起“Great Hitch Hunt”计划,旨在消除虚幻引擎游戏中的卡顿现象,并提供开发者建议

应对虚幻引擎游戏中的卡顿问题:2025 年虚幻嘉年华的见解

在佛罗里达州奥兰多举办的 2025 年虚幻引擎开发者大会 (Unreal Fest 2025) 上,高级软件工程师 Ari Arnbjörnsson 谈到了 PC 游戏玩家面临的一个关键问题:使用虚幻引擎开发的游戏出现卡顿。随着近期大量游戏出现性能问题,游戏社区对 Epic Games 应对这一长期问题的举措产生了质疑。

问题的核心:《大搭便车大行动》

在题为“The Great Hitch Hunt”(伟大的寻路者)的引人入胜的演讲中,Arnbjörnsson 化身猎巫人,挑战开发者积极消除卡顿的根源。他概述了导致游戏中断的七个主要因素,并为旨在提升游戏性能的开发者提供了切实可行的最佳实践。

识别口吃的罪魁祸首

1.关卡流送问题

第一个主要问题是关卡流送,它包含与游戏环境动态加载和卸载相关的各种问题。Arnbjörnsson 指出,静态网格 Actor(例如桌子和餐具等复杂物体)的不当使用会严重影响游戏性能,尤其是在庞大的 AAA 世界中。为了缓解这些问题,他建议使用实例化静态网格 (ISM) 或分层实例化静态网格 (HISM),并利用打包关卡 Actor 功能将大量静态网格压缩为更少、资源占用更低的 Actor。此外,他还提到了虚幻引擎 5.5 中即将推出的单元转换器 (Cell Transformers) 改进,旨在在运行时自动将静态网格 Actor 转换为实例化网格。

2.物理优化

另一个故障源头来自物理相关的处理。开发人员经常低估优化的必要性,尤其是在虚幻引擎 5 引入 Nanite 技术之后,这导致他们假设复杂的网格能够无缝运行。Arnbjörnsson 建议采用更简单的碰撞形状——从球体开始,然后是胶囊体,接着是盒子,最后是凸多边形。他还强调了禁用远距离、非交互对象的物理交互的重要性。Epic 的实验性异步物理初始化功能旨在减轻游戏线程的物理负担,但建议开发人员谨慎使用。

3. Actor 生成延迟

Actor 生成延迟是下一个重大挑战。配备多个组件(例如角色模型)的大型 Actor 在其初始化过程中会导致明显的帧率下降。为了解决这个问题,Arnbjörnsson 建议限制每帧生成的 Actor 数量,推迟 Actor 组件的激活,并实施 Actor 池策略以重用现有对象,而不是反复销毁和重新创建它们。虽然将 Actor 池作为虚幻引擎的默认功能正在考虑中,但目前鼓励开发者为特定类型的 Actor 创建定制的池。

4.管道状态对象(PSO)编译

最常见的卡顿原因之一与流水线状态对象 (PSO) 编译有关。与拥有统一硬件配置的主机不同,PC 在游戏过程中面临着着色器编译的挑战,当着色器必须实时编译时,会导致卡顿。虽然虚幻引擎 5.3 中引入了 PSO 预缓存来缓解此问题,但开发者仍然需要设计自己的 PSO 编译策略,并利用 PSO Cache Buster 插件等工具来进一步优化性能。

5.垃圾收集高峰

当过多未使用的 UObject 实例累积,延长垃圾回收过程时,垃圾回收也会导致性能问题。开发者应主动管理 UObject 数量,并智能地安排垃圾回收,以最大程度地减少中断。Epic 目前正在探索一项实验性的增量可达性分析功能,旨在将垃圾回收任务分配到多个帧上,以缓解这些问题。

6.同步装载挂钩

当游戏线程因资源加载受阻而停滞时,就会发生同步加载卡顿,导致令人沮丧的长时间中断。为了解决这个问题,开发者必须严格采用异步加载技术,并使用资源验证器(例如 Arnbjörnsson 的CommonValidators)来跟踪有问题的加载行为。虚幻引擎 5.4 和 5.5 版本旨在通过引入允许部分刷新异步队列的功能来改善这种情况。

7.蓝图和内容障碍

最后,过于复杂的蓝图和内容脚本可能会影响性能,例如过多的计时器、频繁的更新或臃肿的序列。为了协助开发者,Epic 正在增强 Unreal Insights 工具,使其能够更轻松地可视化和纠正项目中的性能瓶颈。

结论:迎接优化挑战

在演讲结束时,Arnbjörnsson 强调,尽管技术进步不断重塑游戏格局,但开发者必须时刻意识到游戏本身的局限性。有效的优化策略和创造性的问题解决方案对于提供尽可能流畅的游戏体验仍然至关重要。他的演讲不仅旨在为开发者提供信息,也旨在激励他们采取行动,解决项目中的卡顿问题。

欲了解更多详情,请观看完整演讲

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注