UE优化性能

UE 优化

参考:风恋残雪的博客
Stat unit
  1. 启动一个非Debug的游戏进程
  2. 打开控制台输入 Stat UNIT。PC端 ` , Android 四指点击
  3. 正常的渲染状态:
    UE优化性能

    文章插图
  4. 名称功能Frame产生一帧的总时间Game游戏逻辑线程(Game会与Draw在一帧结束时同步,因此两者会保持相近)Draw渲染线程GPU测量了显卡渲染当前场景所花的时间(与Frame同步)
  5. 非正常渲染状态:
    UE优化性能

    文章插图
    • 如果Frame与Game相近 , 那么瓶颈发生在Game(游戏逻辑)
    • 如果Frame与Draw相近,那么瓶颈发生在Draw(渲染线程)
    • 如果Frame与GPU相近,那么瓶颈发生在GPU(显卡配置)
数据摘取
  1. 可以在非Debug的游戏中 , 输入指令 Stat StartFile
  2. 此时可以看到游戏左上角出现一些问题,包括了时间(单位为ms) 。等待15s左右
  3. 再次输入指令 Stat StopFile
  4. 找到项目路径:
    UE优化性能

    文章插图
  5. 打开UE项目的Session Frontend(打开时可能有卡顿,不浮躁,等等她~)
    • UE4 的项目请在UE4 打开 Session Frontend 。因为UE4 的是 .ue4stats 文件
    • UE5 的项目请在UE5 打开 Session Frontend 。但是UE5 的是 .uestats 文件
  6. 选择 Profiler 标签页,使用 Load 查找上面的文件

  7. UE优化性能

    文章插图
  8. 右下角就是消耗性能的部分 。
    • Average则是平均帧耗时,而Maximun则是耗时总和(颜色越红 , 消耗的总量越大)
    • 可以选择 Maximun来查看消耗性能最大的部分

  9. UE优化性能

    文章插图
  10. 上方的蓝色区域是可以通过鼠标框选的,因此可以自定义查看某部分的高峰值 。由于这个例子截图性能优化不错,所以没什么波动 。
GPU 分析
在UE中使用快捷键(Ctrl+Shift+ , )打开GPU Visualizer
常用性能优化指令
  • stat unit
  • stat sceneRendering
  • stat engine
  • stat initViews
  • stat game
  • stat Slow
  • viewMode ShaderComplexity
  • Stat UnitGraph
更多指令:虚幻引擎Stat命令
【UE优化性能】

    推荐阅读