👨💻个人主页:
👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 秩沅 原创
👨💻 专栏交流 | 🧧 |
---|---|
🟥✨unity100个实战基础✨🟥 | 🎁 |
🟦✨ unity100个精华一记✨🟦 | 🎁 |
🟩✨ unity50个demo案例教程✨🟩 | 🎁 |
🟨✨ unity100个精华细节bug✨🟨 | 🎁 |
文章目录
⭐前言⭐
- profiler工具可以查看每一帧游戏的渲染,加载和内存,可精确到耗时资源本身——故此我们了解它的目的是为了跟踪导致性能问题产生的源头
🎶(1)基础知识
- 什么是fps
从60到50fps呈现出的是额外3.3毫秒的运行时间,但是从30到20fps呈现出的是额外的16.6毫秒的运行时间。故此帧率越高运行速度越快
- 什么是ms
- 什么是帧时间
🎶(2)使用操作——观察
- 在开发过程中,我们可以通过编辑模式的状态下按住ctrl+7 打开profiler性能分析窗口但是,此时的分析结果会有误差
要获得更好的性能分析结果,应该始终在目标设备上对应用程序进行性能分析(打包测试) :操作如下:
图片来源于官方文档:入口
- building setting -> 勾选development - autoconnect profiler - deep profiling support
- 移动设备性能测试请见:入口
示例
- 以上黄色的是 vsync(垂直同步)区域,一般在cpu视图中选择隐藏,在hierarchy视图中选择忽视对应的层级为
⭕cpu usage cpu分析器
- cpu完成每帧所花费的时间
- 据上图分析,此时帧时间已超过流畅性值(16.67ms)
- 帧率fps也在15,这说明画面极其卡顿
hierarchy层级结构
- 打开层级我们可以看到
各个部分对于cpu的内存占用率
total | self | calls | gc alloc | time ms | self ms |
---|---|---|---|---|---|
占用时间 | 自身代码运行的时间 | 调用次数 | gc内存 | 此模块运行的时间 | 自身代码占用的时间 |
注: gc分配的内存struct和class一次性分配的内存别超过2kb
timeline时间线性图
cpu 任务执行的顺序和对应线程负责任务
可在其中查看线程情况
⭕gpu usage gpu分析器
辨别游戏的问题是cpu密集还是gpu密集
一般情况下,gup分析器是默认未激活状态的,需要手动开启(但是开启后会额外增加开销)
如下图所示,点击勾选 gpu usage的选项。开启gpu
- 此时可以通过比对cpu 和 gpu 的数据 来判断 游戏是cpu密集还是gpu密集
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、
发表评论