Unreal常用性能调试辅助工具-state commands
State commands是Unreal提供的一套实时查看程序运行状态的命令
常用的性能调试命令如下:
- Stat Unit:统计主要性能指标
- Stat GPU:统计GPU绘制信息
- Stat SceneRendering:统计场景绘制信息
- Stat Engine:统计引擎相关信息
- Stat RHI:统计驱动绘制信息
- Stat initviews:统计视窗可见性信息
- Stat Memory:监控内存状态
- Stat Levels:监控关卡状态
- Stat Game:监控游戏状态
详解
Stat Unit:统计各项性能指标包括:总耗时FPS,游戏逻辑耗时,CPU绘制耗时,GPU绘制耗时
各个指标含义:
状态 | 含义 |
Frame |
绘制一帧的总时间,包括各个线程同步的时间 |
Game |
游戏线程处理一帧的时间。 |
Draw |
渲染线程处理一帧的时间 |
GPU |
GPU处理一帧的时间 |
DynRes |
动态分辨率:多屏幕时,副屏幕相对于主屏幕的位置 |
Stat GPU:显示GPU绘制的各项指令耗时
Stat SceneRendering:统计场景绘制信息
上半部分是场景绘制的各个阶段的时间,下半部分为场景绘制的统计数据
部分指标含义:
状态 | 含义 |
Present time | 一帧Present的时间 |
Mesh Draw calls | 一帧中Draw Call的数量 |
Lights in Scene | 场景中光源数量 |
Decals in Scene | 场景中贴图的数量 |
Stat Engine:统计引擎相关信息,包括静态网络的三角形数量等
部分指标含义:
状态 | 含义 |
Skel Mesh Tris | 骨骼Mesh的三角形数量 |
Static Mesh Tris | 静态Mesh的三角形数量 |
Skel Verts GPU Skin | 骨骼Mesh的顶点数量 |
Skel Mesh Draw Calls | 骨骼Mesh的Draw Call数量 |
Stat RHI:监控驱动绘制信息,包括各项Buffer大小,三角形绘制数量等
上半部分是显存的分配状态,下半部分是Draw Call的统计数据
各个指标含义:
状态 | 含义 |
Texture Memory 2D | 2D纹理所占的内存 |
Texture Memory 3D |
3D纹理所占的内存 |
Texture Memory Cube | 立方体纹理所占的内存 |
Render Target Memory 2D | 2D渲染目标所占内存 |
Render Target Memroy 3D | 3D渲染目标所占内存 |
Render Target Memory Cube |
立方体渲染目标所占内存 |
Vertex Buffer Memory |
顶点缓冲区所占内存 |
Index Buffer Memory | 索引缓冲区所占内存 |
Uniform Buffer Memory | 统一缓冲区所占内存 |
Structured Buffer Memory | 结构化缓冲区所占内存 |
Stat initviews:统计视窗初始化信息,包括可见性判断的各项耗时,可见的图元数量
部分指标含义:
状态 | 含义 |
Processed Primitives | 当前帧处理的图元数量 |
Frustum Culled Primitives | 当前帧被视锥剔除掉的图元数量 |
Visible Dynamic Primitives | 可见的动态图元数量 |
Visible Static Mesh Elements | 可见的静态物体数量 |
Occlusion Queries | 遮挡查询的触发数量 |
Occlueded Primitives | 被遮挡剔除的图元数量 |
Stat Memory:监控内存相关信息,包括各项资源的内存占用
Stat Levels:显示当前地图的关卡耗时
Stat Game:监控游戏逻辑相关的耗时
上半部分统计游戏相关操作的时间,下半部分是游戏相关操作的统计信息