UE4 / UE5 内存与性能优化

性能优化

资源压缩

在图片资源上右键选择Size Map可以看到资源所占大小,将右上角切换成Memory Size,所占内存大小,如果发现这个资源所占太大,就可以考虑压缩一下图片大小,看看效果是否满足需求,这个会把引用到的资产所占用内存一同显示出来

粒子优化

很多游戏里面,粒子优化是大头,因为游戏中生成的粒子亮级也会根据不同游戏,情况也不同。

首先按Alt+8打开粒子复杂度,下面有个参照表,可以看到粒子的复杂情况,越绿性能越好,反之亦然。优化粒子,不外乎,减少粒子数量,修改粒子颜色等等,这个也需要根据不同游戏,配合着特效进行优化。


点Perfomance可以看到资源消耗占比,可以根据它进行系统优化

Project Settings里面的NavMesh使用了Dynamic,并勾选了Navigation System -> Navigation System->Initial Building Locked,运行起来会启用build,比起静态的P键,差距太大,不建议使用

Generate Overlap Event

不需要的都祛除勾选,官方论坛资料

GCMarkTime

参考:官方论坛资料

光照优化

场景中按alt + 7,与粒子优化类似

Shader优化

场景中按alt +8

卡的时间长

运行起来执行命令:stat dumphitches,输入log信息,里面包含了所花时间,官方命令文档

LOD

原理:超过某个距离后将多个静态网格替换成简化后的静态网格,减少需要绘制的三角形面数(也就是减少Draw Call)
官方文档

性能工具千千万,不外乎就是看谁占用资源大,然后去分析为什么占用大,如何裁,比如阻塞式加载大量资源时候,就会导致卡死,优化手段有几种,比如多帧去加载异步地去一部分资源,放另一个线程去加载。一个资源如何直接使用,就是会在游戏运行之初,就开始加载资源,放在内存中,现象就是刚运行时候会卡很久,所以,为什么会大量采用软引用呢,当然是很多资源,都希望用的时候加载,而不是一直存在内存中,但是,资源在用的时候才加载,那一定是需要时间的,提前加载资源,那又该在何段时间,也需要大家去考虑。

官方CPU、GPU Insights、stat cpu、 ue4 memory report、inter GPA 、RenderDOC、减少模型面数等

官方视频
官方文档
inter GPA
RenderDoc
官方减面工具,好像在UE5上没了

Merge Actor

相关推荐
Gauss松鼠会5 小时前
GaussDB性能调优:从根因分析到优化落地
数据库·性能优化·database·gaussdb
、、揽明月九天10 小时前
秒杀系统的性能优化
性能优化
今天也想MK代码1 天前
ReFormX:现代化的 React 表单解决方案 - 深度解析与最佳实践
前端·react.js·性能优化
佩奇的技术笔记1 天前
高级:性能优化面试题深度剖析
性能优化
清源妙木真菌2 天前
Linux:页表详解(虚拟地址到物理地址转换过程)
linux·性能优化·内存管理
MrWho不迷糊2 天前
Spring Boot 首笔交易慢问题排查与优化实践
spring boot·性能优化
无知的前端2 天前
iOS开发,runtime实现切片编程原理以及实战用例
ios·面试·性能优化
wending-Y2 天前
记录clickhouse记录一次性能优化,从60s到1s
前端·clickhouse·性能优化
敲键盘的小夜猫2 天前
Java服务端性能优化:从理论到实践的全面指南
java·开发语言·性能优化
一个天蝎座 白勺 程序猿3 天前
大数据(4.4)Hive多表JOIN终极指南:7大关联类型与性能优化实战解析
hive·hadoop·性能优化