[开发者心得] 【性能教室】常用控制台命令

  [复制链接]
2819 |6
喵喵哭唧唧 发表于 2023-4-13 13:53:56 | 显示全部楼层 |阅读模式
本帖最后由 哭唧唧的细狗 于 2023-10-31 13:20 编辑

所使用编辑器版本:Online_v0.27.0.0
什么是控制台


控制台命令可以帮助使用者在编辑器运行时,打开一系列辅助功能,方便追踪debug和性能


如何呼出控制台

1.在游戏中按 ~ 键呼出控制台

2.输入指定命令回车即可

image.png
(在PC控制台中输入Stat UNIT打开性能面板)

image.png
(Stat UnitMax呼出的包含峰值的性能看板)


看板命令
1.调试类

stat fps —— 显示帧率
stat unit —— 显示包括Draw Call ,游戏逻辑等各种项的消耗
stat UnitGraph —— 显示各个参数的实时曲线图
stat rhi —— 显示各种GPU上的消耗细则
stat game —— 显示当前帧的时间信息
stat Engine —— 显示帧数时间,三角面数等
stat scenerendering —— 显示Drawcall
ShowFlag.Bounds —— 显示包围盒(0关闭,1打开)
ShowFlag.Collision—— 显示碰撞盒(0关闭,1打开)
r.visualizeOccludedPrimitives —— 查看遮挡剔除(0关闭,1打开)
DisableAllScreenMessages/EnableAllScreenMessages —— 关闭/打开屏幕打印信息
ke * rendertextures 高分辨率截图
HighResShot  —— 以当前viewport分辨率的倍数进行截图(倍数)
HighResShot 3840x2160 —— 指定分辨率截图(分辨率)【图片存储位置:\Saved\Screenshots\】
stat Hitches —— 或者stat DumpHitches 记录log文件
stat startfile / stat stopfile —— 开始/结束统计性能分析  ,用于记录某段时间内的性能分析数据。【此时会在路径 Saved/Profiling/UnrealStats 下生成数据文件。】


2.图像类

r.vsync 0—— 垂直同步(0关闭,1打开)
r.Tonemapper.Sharpen 3 —— 锐化(锐化强度)
r.Streaming.PoolSize 4096 —— 显存多少分配给了纹理流送池(显存大小,0表示无上限)
r.ScreenPercentage 50 —— 设置渲染分辨率为默认大小的50%
r.TonemapperFilm —— 开关后处理效果
ShowFlag.PostProcessing —— 开关后期盒子效果
r.AOSpecularOcclusionMode —— 可以让 skylight 产生的 DFAO 产生更准确的高光(0关闭,1打开)


性能面板各项数据意义
Frame:当前帧计算消耗耗时 (30帧标准值为 33.33ms 60帧标注值为 16.67ms 依此类推)
Game:当前帧Game线程计算消耗耗时 (越低越好,一般来说如果PC上Game线程消耗高于5ms。则可能在移动端发生性能风险。此处为PC I7-11700K 和移动端A57测试数据。具体数据取决于不同设备性能)
Draw:当前帧渲染耗时 (参考值:越低越好)
GPU:当前帧GPU计算耗时 (参考值:越低越好)
Draws:当前帧的DrawCall数量 (参考值:小于300)
Prims:当前帧的图元(顶点集合)提交数量 (参考值:小于600k)
Mem:VmRSS(当前内存占用 —— 进程当前使用的物理内存的大小,越小越好)右侧为VmHWM(内存占用峰值——进程所使用的物理内存的峰值)
VMem:VmSize(虚拟内存大小 ——进程当前使用的虚拟内存的大小)右侧为VmPeak(虚拟内存峰值——进程所使用的虚拟内存的峰值)

内存分析

MemReport

在控制台中输入MemReport 编辑器会采集当前游戏的内存报告并生成文件


报告所在位置:

       编辑器目录/Editor_Win64\MetaWorldSaved\Saved\Profiling\MemReports


image.png

(控制台输入MemReport)


image.png

(编辑器中报告存储位置)


Profile采集

Start File

1. 在控制台中输入Stat StartFile  编辑器会开始采集Profile文件
2. 输入Stat StopFile  停止采集。

PC日志目录:
编辑器目录\Editor_Win64\MetaWorldSaved\Saved\Profiling\UnrealStats

image.png

(编辑器中日志目录)


文件分析




回复

使用道具 举报

清风予我 发表于 2023-4-13 18:04:59 | 显示全部楼层
收藏
回复

使用道具 举报

喵喵哭唧唧楼主 发表于 2023-4-13 18:06:58 | 显示全部楼层

你骗人,明明没有收藏,哇得就哭了出来,哭唧唧
回复

使用道具 举报

你若盛开,蝴蝶自来 发表于 2023-9-25 10:08:56 | 显示全部楼层
这那么有价值的帖子 我不允许它被冷落。
回复

使用道具 举报

雪中观狐 发表于 2023-12-2 14:09:49 | 显示全部楼层
Draws稳定破1200,primes稳定63000,有事吗
回复

使用道具 举报

雪中观狐 发表于 2023-12-2 14:10:42 | 显示全部楼层
雪中观狐 发表于 2023-12-2 14:09
Draws稳定破1200,primes稳定63000,有事吗

因为同屏角色大概有44个,大概2种形象,有办法合并吗
回复

使用道具 举报

哭唧唧的细狗楼主 发表于 2023-12-4 10:00:58 | 显示全部楼层
雪中观狐 发表于 2023-12-2 14:10
因为同屏角色大概有44个,大概2种形象,有办法合并吗

你好,同屏出现大量角色,可能会对于某些中低配置的用户非常不友好,导致他们游玩过程中帧数急剧下降

根军游戏类型的不同:
有的可以通过改变一下游戏设计,将大量角色对象分开摆放,达到分散的效果,这样就不会出现同频大量角色的出现导致渲染瓶颈的产生

如果一定要同屏,可以考虑跟换角色对象,将之修改为静态模型等其他方式来表现

如果一定要角色对象,可能就要承受游戏上线后一些用户无法正常游戏的问题了
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表