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. 从零开始Blazor Server(13)--消息通知

    我们现在做了用户管理.角色管理.菜单管理. 但是大家有没有发现,我们的菜单要变化的话必须要刷新页面才行.这个体验感觉不太好. 今天我们就用全局通知组件来解决这个问题. 首先我们要改造以下我们的Main ...

  2. 【Java】学习路径30-可变参数 Variable Parameter

    定义一个add函数,要求其功能:传入任意数量的参数然后返回相加的结果. public class VariableParameter { public static void main(String[ ...

  3. git revert总结

    git revert git revert 是一种创建一次新的commit 来回退某次或某几次commit的一种方式 命令 // 创建一个新的commit,这个commit会删除(下面)commit- ...

  4. 使用Steamwork.Net 接入Steam一点心得

    1.  前言 这是我在开发过程中使用的一点总结,目前使用的东西包含基础登录功能,存档功能,成就系统,以及DLC安装功能.Steamwork不仅仅有这些功能还有游戏内交易,排行榜,数据传输等功能,这些功 ...

  5. 如何干涉MySQL优化器使用hash join

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 实验 总结 前言 数据库的优化器相当于人类的大 ...

  6. [Python]-string-字符串

    字符串是Python中很常用的数据类型,此处记录一些典型用法并随时更新. split()方法 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串. 两个参数st ...

  7. Java 异步编程 (5 种异步实现方式详解)

    ​ 同步操作如果遇到一个耗时的方法,需要阻塞等待,那么我们有没有办法解决呢?让它异步执行,下面我会详解异步及实现@mikechen 目录 什么是异步? 一.线程异步 二.Future异步 三.Comp ...

  8. 【COS生态建设】开发者有奖调研,等你来参与!

    为了更好的赋能开发者,为大家提供更好的开源应用,我们诚挚的邀请您抽出几分钟参与"有奖问卷",告诉我们您对"COS生态建设"的意见和建议.希望通过这份调查问卷,能 ...

  9. overflow 隐藏滚动条样式

    在使用overflow,属性值为auto或者scroll时,很多时候会有多余的滚动条在旁边,这时就非常影响观瞻,所以我们有时需要将滚动条隐藏掉. 今天就说两种我用到的隐藏滚动条的方法,如果有其他解决方 ...

  10. hive数据导出到linux本地

    方法1(hive下执行):insert overwrite local directory 'Linux本地目录' row format delimited fields terminated by  ...