UE 优化

参考:风恋残雪的博客

Stat unit

  1. 启动一个非Debug的游戏进程

  2. 打开控制台输入 Stat UNIT 。PC端 ` , Android 四指点击

  3. 正常的渲染状态:

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

    • 如果Frame与Game相近,那么瓶颈发生在Game(游戏逻辑)

    • 如果Frame与Draw相近,那么瓶颈发生在Draw(渲染线程)

    • 如果Frame与GPU相近,那么瓶颈发生在GPU(显卡配置)

数据摘取

  1. 可以在非Debug的游戏中,输入指令 Stat StartFile

  2. 此时可以看到游戏左上角出现一些问题,包括了时间(单位为ms)。等待15s左右

  3. 再次输入指令 Stat StopFile

  4. 找到项目路径:

  5. 打开UE项目的Session Frontend(打开时可能有卡顿,不浮躁,等等她~)

    • UE4 的项目请在UE4 打开 Session Frontend。因为UE4 的是 .ue4stats 文件

    • UE5 的项目请在UE5 打开 Session Frontend。但是UE5 的是 .uestats 文件

  6. 选择 Profiler 标签页,使用 Load 查找上面的文件

  7. 右下角就是消耗性能的部分。

    • Average则是平均帧耗时,而Maximun则是耗时总和(颜色越红,消耗的总量越大)

    • 可以选择 Maximun来查看消耗性能最大的部分

  8. 上方的蓝色区域是可以通过鼠标框选的,因此可以自定义查看某部分的高峰值。由于这个例子截图性能优化不错,所以没什么波动。

GPU 分析

在UE中使用快捷键(Ctrl+Shift+ , )打开GPU Visualizer

常用性能优化指令

  • stat unit

  • stat sceneRendering

  • stat engine

  • stat initViews

  • stat game

  • stat Slow

  • viewMode ShaderComplexity

  • Stat UnitGraph

更多指令:虚幻引擎Stat命令

UE优化性能的更多相关文章

  1. [经验] Win7减肥攻略(删文件不删功能、简化优化系统不简优化性能)

    [经验] Win7减肥攻略(删文件不删功能.简化优化系统不简优化性能) ☆心梦无痕☆ 发表于 2014-1-24 11:15:04 https://www.itsk.com/thread-316471 ...

  2. 使用Concurrency Visualizer优化性能

    Concurrency Visualizer: https://msdn.microsoft.com/en-us/library/dd537632.aspx?f=255&MSPPError=- ...

  3. Python禁用GC优化性能

    Python使用的(Garbage Collection, GC)机制是引用计数(Reference Count),其原理是为每一个内存对象进行引用计数,因此当有大量的对象新建或删除时,必须要进行大量 ...

  4. IOS 通过 代码 自定义cell(Cell的高度不一致)(优化性能)

    创建cell的步骤 1.新建一个继承自UITabelViewCell的类 2.重写 initWithStyle:ReuseIdentifier: 方法 添加所有需要显示的子控件(不需要设置子控件的数据 ...

  5. 【SQL Server 优化性能的几个方面】(转)

    转自:http://blog.csdn.net/feixianxxx/article/details/5524819     SQL Server 优化性能的几个方面 (一).数据库的设计 可以参看最 ...

  6. 使用Lua 局部变量来优化性能,同一时候比較局部变量和全局变量

    在竞争激烈的游戏行业中,尤其页游,面对策划复杂和频繁的需求,使用脚本能够减少难度和成本.在使用Lua的过程中,会常常訪问全局变量来作为配置文件. 在訪问全局变量时,能够通过局部变量引用全局变量来优化. ...

  7. CQRS之旅——旅程7(增加弹性和优化性能)

    旅程7:增加弹性和优化性能 到达旅程的终点:最后的任务. "你不能飞的像一只长着鹪鹩翅膀的老鹰那样."亨利·哈德逊 我们旅程的最后阶段的三个主要目标是使系统对故障更具弹性,提高UI ...

  8. MySQL优化 - 性能分析与查询优化(转)

    出处:  MySQL优化 - 性能分析与查询优化 优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载 ...

  9. ASP.NET中常用的优化性能的方法

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...

随机推荐

  1. Tomcat 10无法使用javax包

    可以导入新的 jakarta包 <dependencies><!--servlet依赖--> <dependency> <groupId>jakarta ...

  2. Cannot resolve method 'println(java.lang.String)'

    jsp文件中println爆红 <% int sum = 0; for (int i = 1; i <=100 ; i++) { sum+=i; } out.println("& ...

  3. 1.1_selenium+Python自动化测试大纲

  4. Controller以及RestFul风格

    Controller以及RestFul风格 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方式实现 控制器负责解析用户的请求并将其转换为一个模型 在Spr ...

  5. STC15 串口通信

    串口1选择定时器2产生波特率 串口1相关寄存器 1.选择串口1所放的管脚 2.串口1配置步骤 3.选择串口工作模式 4.确定定时器2工作速度 代码配置 void Uart1_Tim2_Config(i ...

  6. [Python]-opencv-python模块(cv2)-图片读取和格式转换

    python常常用opencv模块来处理图像. import cv2 as cv 读取图片:imread() 默认按照彩色三通道读取: img = cv2.imread(path) 读取灰度图: im ...

  7. .NET 7 SDK 开始 支持构建容器化应用程序

    微软于 8 月 25 日在.NET官方博客上,.NET 7 SDK 将包括对创建容器化应用程序的支持,作为构建发布过程的一部分,从而绕过需要.显式 Docker 构建阶段. 这一决定背后的基本认知是简 ...

  8. 输入法词库解析(五)极点码表.mb

    详细代码:https://github.com/cxcn/dtool 前言 mb 是极点五笔的码表格式. 解析 偏移量 描述 0x00 版本信息 0x1B 码表介绍 0x11F 所用到的按键数 0x1 ...

  9. C语言大作业---学生信息管理系统

    xxxx信息管理系统 简介 因为大作业规定的踩分项就那么多,为了不浪费时间 + 得分,就写成这样.现在看看,命名不规范,书写风格糟糕,全塞在一个源代码中······ 不过,应付大作业是没问题的 实验报 ...

  10. 发布日志- kratos v2.1.4 发布!

    v2.1.4 release https://github.com/go-kratos/kratos/releases/tag/v2.1.4 New Features feat(registry/co ...