Unity 之Profiler模块 Render等

Rendering Profiler

.

Rendering Statistics Window

渲染统计窗口:

 

  
Time per frame and FPS每帧花费的时间和帧率(每秒多少帧)注意,这个数字只包括帧更新和渲染游戏视图所花费的时间,不包括编辑器中绘制场景视图所花费的时间
Batches“批处理”是指引擎试图将多个对象的呈现合并到一块内存中,以减少由于资源切换造成的CPU开销。
Saved by batching合并的批次数。
Tris and Verts绘制的三角形和顶点的数量
Screen屏幕的大小,以及它的抗锯齿水平和内存使用情况。
SetPass渲染通过的次数。每一次传递都需要Unity运行时绑定一个新的着色器,这可能会带来CPU开销。
Visible Skinned Meshes所呈现的蒙皮网格的数量。
Animations播放的动画数量。

 

 

 

Memory Profiler module

Memory module 表示应用程序中分配的总内存的计数器. 您可以使用内存模块查看诸如加载对象的数量和它们在每个类别中占用的总内存等信息. 也可以看到每帧 GC allocations的分配

Using the memory module when profiling in the Editor

在编辑器中配置应用程序时,内存模块显示的所有数字都表示编辑器中的内存使用量,而不是应用程序的发布平台。这些数字通常比在发布平台上运行时要大,因为运行Unity编辑器会使用特定内存来存储对象,编辑器窗口使用额外的内存。

要获得更精确的数字和应用程序的内存使用情况,请通过“Attach to Player”菜单将分析器连接到正在运行的播放器。

Chart categories

CategoryDescription
Total Allocated应用程序使用的总内存
Texture Memory Textures使用内存数
 
Mesh
Memory
 Meshes 使用内存数
Material Count Material 的数量
Object CountThe number of native object instances in your application
Total GC AllocatedGC heap使用多少内存
GC AllocatedGC heap为每一帧分配多少内存

 

Simple view

 Simple 在每帧的基础上实时显示内存在Unity中的使用情况。

The areas covered by this are:

  • Total: 总使用内存
  • Unity: 本机Unity代码中的内存分配量,由本机内存管理器系统跟踪,并根据它们的类型、源和平台特定的分配模式在内存池中分配。
  • Mono: 托管代码使用的总堆大小和使用的堆大小。这个内存被垃圾回收。
  • GfxDriver: 驱动程序在 Textures, render targets, Shaders and Mesh data.的预估量
  • Audio: 音频系统的估计内存使用量
  • Video: 视频系统的估计内存使用量
  • Profiler: Profiler的估计内存使用量

Detailed view

  • Other: 既不是 assets, GameObjects
    , 也不是 components的信息,比如unity为不同的系统使用的内存.
  • Not Saved: 对象被标记为 DontSave
  • Builtin Resources: Unity Editor 资源 or Unity 默认资源,比如shader
  • Assets: 自带资源或者导入的资源
  • Scene Memory:游戏对象和附带的组件

当你在asset或者scene memory中点击一个物体,他会在场景中显示

Note:Other 种类下, 在System.ExecutableAndDlls 下的内存是只读内存. 操作系统可能会根据需要丢弃这些内存,然后从文件系统重新加载它们. 这回降低内存的使用率.

Memory Profiler package

https://docs.unity3d.com/Packages/com.unity.memoryprofiler@0.1/manual/workbench.html

这个插件需要advance的unity,需要破解版的unity,是内存肥

 

 

 

Physics Profiler

 Physics Profiler展示的是静态物体的处理

See also Physics Debug Visualization.

Properties

PropertyFunction
Active Dynamic处于激活状态的 non-Kinematic Rigidbody  物体的数量
 
Active Kinematic处于激活状态的 Kinematic Rigidbody 的数量
Static Colliders带有 Collider但本身没有或者父物体没有Rigidbody组件的游戏物体.如果 GameObjects 或者他的父物体 Rigidbody 组件, 则它不计数.
Rigidbody带有Rigidbody 组件的物体,不管有没有激活
Trigger Overlaps重叠触发器的数量,成对出现,就是两个碰撞体重合了,前提打开istrigger
Active Constraints开启了 constraints选项的物体
Contacts场景中所有碰撞体之间的距离小于某个值的数量,包括trigger overlap 的数量.contacts 不一定是接触,而是两者之间的距离小于某个值. Refer to Collider.contactOffset and ContactPoint.separation for more details.

Notes:

  • 这个也不一定准,如果想要获取精确的数量,可以用 FindObjectsOfType

  •  Physics Profiler 不显示未激活的 Rigidbody 的组件.

Using the Physics Profiler to understand performance issues

你可以选择 CPU Usage Profiler模块,检测  Physics.Processing 或者 Physics.Simulate 调用的次数

Physics Profiler with the value of 1 in the Calls column

 

如果调用次数接近10说明有问题,首先,降低physics 的模拟品频率,增大fixedupdata的时间,如果还存在,检查是什么让图形处理器处理那么长的时间

  • Pxs:PhysX求解器”是“PhysX solver”的缩写,它是一种物理引擎的工作,关节需要它来完成,同时也可以解决身体重叠时的接触问题。

  • ScScene: 用于场景更新、宽相位和窄相位运行、物体整合(由于外力和爆破力在空间中移动)所需的任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TO_ZRG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值