当前位置: 移动技术网 > IT编程>开发语言>.net > Unity - Profiler参数详解

Unity - Profiler参数详解

2019年05月08日  | 移动技术网IT编程  | 我要评论

谭爱莉,韩国最美女警察,鲅鱼圈站

cpu usage

​       ● gc alloc - 记录了游戏运行时代码产生的堆内存分配。这会导致managedheap增大,加速gc的到来。我们要尽可能避免不必要的堆内存分配,同时注意:1、检测任何一次性内存分配大于2kb的选项;2、检测每帧都具有20b以上内存分配的选项。

● waitfortargetfps - vsync功能所致,即显示的是当前帧的cpu等待时间。

●​ overhead - 表示profiler总体时间,即所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善profiler的统计。(一般出现在移动设备,锯齿状为vsync所致)

●​ physics.simulate - 当前帧物理模拟的cpu占用量。

●​ camera.render - 相机渲染准备工作的cpu占用量。

●​ rendertexture.setactive - 设置rendertexture操作。比对当前帧与前一帧的colorsurface和depthsurface,如果一致则不生成新的rt,否则生成新的rt,并设置与之对应的viewport和空间转换矩阵。

●​ monobehaviour.onmouse_ - 用于检测鼠标的输入消息接收和反馈,主要包括 sendmouseevents和dosendmouseevents。

●​ handleutility.setviewinfo - 仅用于editor中,作用是将gui在editor中的显示看起来与发布版本上的显示一致。

​● gui.repaint - gui的重绘(尽可能避免使用unity内建gui)。

● event.internal_makemastereventcurrent - 负责gui的消息传送。

●​ cleanup unused cached data - 清空无用的缓存数据,主要包括renderbuffer 的垃圾回收和textrendering的垃圾回收。

●​ rendertexture.garbagecollecttemporary - 存在于renderbuffer的垃圾回收中,清除临时的freetexture。

●​ textrendering.cleanup - textmesh的垃圾回收操作。

●​ application.integrate assets in background - 遍历预加载的线程队列并完成加载,同时完成纹理的加载、substance的update等。

●​ application.loadlevelasync integrate - 加载场景的cpu占用。

●​ unloadscene - 卸载场景中的gameobjects、component和gamemanager,一般用在切换场景时。

●​ collectgameobjects - 将场景中的gameobject和component聚集到一个array 中。

●​ destroy - 删除gameobject或component的cpu占用。

●​ assetbundle.loadasync integrate - 多线程加载awakequeue中的内容,即多线程执行资源的awakeformload函数。

●​ loading.awakeformload - 在资源被加载后调用,对每种资源进行与其对应的处理。

●​ stacktraceutility.postprocessstacktrace() 和 stacktraceutility.extractstacktrace() - 一般是由debug.log或类似api造成,游戏发布后需将debug api进行屏蔽。

●​ gc.collect - 系统启动的垃圾回收操作。当代码分配内存过量或一定时间间隔后触发,与现有的garbage size及剩余内存使用粒度相关。

● ​garbagecollectassetsprofile - 引擎在执行unloadunusedassets操作。

gpu usage​

●​ device.present - device.presentframe的耗时显示,该选项出现在发布版本中。关于该参数有如下几个常见问题:1、gpu的presentdevice确实非常耗时,一般出现在使用了非常复杂的shader等;2、gpu运行是非常快的,而由于vsync的原因,使得它需要等待较长时间;3、同样是vsync的原因,若其他线程非常耗时,会导致该项等待时间很长,比如过量的assetbundle加载时容易出现该问题。

● graphics.presentandsync - gpu上的显示和垂直同步耗时,该选项出现在发布版本中。

● mesh.drawvbo - gpu中关于mesh的vertex buffer object的渲染耗时。

●​ shader.parse - 资源加入后引擎对shader的解析过程。

●​ shader.creategpuprogram - 根据当前设备支持的图形库信息来建立gpu工程。

memory​

● gameobjects in scene - 当前帧场景中的gameobject数量。

● total objects in scene - 当前帧场景中的object数量(除了gameobject外,还有component等)。

●​ total object count - object数量 + asset数量。

●​ scene memory - 记录当前帧场景中各方面的内存占用情况,包括gameobject、所有资源、各种组件及gamemanager等。

更多unity2018的功能介绍请到paws3d爪爪学院查找。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网