在Unity中Profiler查看CPU性能参数
1.垂直同步的解释:
一个图像是由一个二维的矩阵(矩阵内是像素点)组成的,水平同步是每一行进行读取
垂直同步是竖向的同步
当关闭垂直同步,可能就会产生上一帧还未显示完,下一帧的图像已经开始显示,出现图片撕裂,下图中下半部分红色部分是下一帧开始显示一半的图像,而上半部分依然是上一帧的画面
2.垂直同步在Profile中的表现是:WaitForTargetFPS(当点击选中WaitForTargetFPS时淡黄色会呈现“高亮”状态,选中不同的函数会对应折线图中的颜色状态)
cpu参数的说明:
GC分配的内存,(1)一次性不超过2KB。(2)每帧都具有20B以上的内存分配!,这两点要特别注意!!!!!
Time ms: 注意超过5ms的选项!!!
VSync Count中的参数解释
0:Don’t Sync 不垂直同步 Application.targetFrameRate = -1
1:Every V Blank (fps = 60) Application.targetFrameRate = 60
2:Every Second V Blank (fps=30) Application.targetFrameRate = 30
当关闭垂直同步,但是设置Application.targetFrameRate = x的时候,垂直同步会默认开启!!
关于帧率:
帧率是一个我们谈论游戏性能的基本标准,但是当我们提升游戏性能时,更因该想到的是渲染一帧需要多少毫秒。帧率的相对改变在不同范围会有不同的变化。比如,从60到50FPS呈现出的是额外3.3毫秒的运行时间,但是从30到20FPS呈现出的是额外的16.6毫秒的运行时间。在这里,同样降低了10FPS,但是渲染一帧上时间的差别是很显著的。
渲染一帧所花费的时间: 我们还需要了解渲染一帧需要多少毫秒才能满足当前帧率。通过公式 1000/(想要达到的帧率)。通过这个公式可以得到,30FPS必须在33.3毫秒之内渲染完一帧,60FPS必须在16.6毫秒内渲染完一帧
3.自定义查看相关函数的性能:
步骤一
步骤二,在profile中能够找到“sum_profile”的相关的性能参数
特殊函数说明:
Physic.Simulate 统计当前帧物理模拟cpu占用
CameraRender 统计相机渲染准备工作cpu占用
OverHead 记录尚不明确的时间消耗cpu占用
4.垂直同步的实际应用:
垂直同步和帧率的设置,帧率配合垂直同步,能够看到帧率的明显变化!!
下图是KeyCode.A执行的帧率结果
下图是KeyCode.D执行的帧率结果