记录Flutter性能分析中的各项指标系数
分析工具: Flutter Dev Tools
渲染分析
工具项:Performance
Frame Time (UI)(帧时间 - 用户界面):
"Frame Time (UI)" 表示每一帧在用户界面(UI)渲染方面所需的时间,通常以毫秒(ms)为单位。这个度量主要关注Flutter应用程序中构建和布局UI元素所需的时间。
Frame Time (UI) 的值越小,表示构建和布局UI的速度越快,用户界面渲染更快,用户体验更流畅。
如果 Frame Time (UI) 的值过高,可能表明应用程序中的UI构建和布局操作需要优化。
Frame Time (Raster)(帧时间 - 光栅化):
"Frame Time (Raster)" 表示每一帧在光栅化(Rasterization)方面所需的时间,通常以毫秒(ms)为单位。这个度量主要关注Flutter应用程序中将UI元素转换为像素并进行绘制的过程。
Frame Time (Raster) 的值越小,表示光栅化和绘制的速度越快,用户界面渲染更快,用户体验更流畅。
如果 Frame Time (Raster) 的值过高,可能表明应用程序中的绘制操作需要优化。
Jank(卡顿):
"Jank" 指的是在渲染过程中出现的卡顿或不流畅的现象。当帧时间超过了渲染周期的时间限制(例如16毫秒),就会出现卡顿,用户可能会感到应用程序不流畅。
Jank 表示在某个时间段内出现的卡顿次数。例如,如果在1秒内发生了5次卡顿,那么 Jank 值为5。
开发人员通常希望将 Jank 保持在最低水平,以确保用户体验流畅。
ShaderCompilation (着色器编译):
Shader是一种用于在图形渲染中控制像素颜色的程序,因此它们的编译和执行需要一定的计算资源。当Shader编译时间过长时,可能会导致UI动画不流畅或应用响应缓慢
如果想要iOS设备动画流畅,需要处理着色器编译,进行预编译;安卓设备因为GPU型号复杂所以无法进行预编译产物复用;
总结
Frame Time (UI):UI元素构建和布局的时间,时间越小,速度越快
Frame Time (Raster):UI元素转换为像素并进行绘制的过程,时间越小越快
Jank(卡顿):渲染过程中出现的卡顿次数,表示1秒内发生了多少次卡顿,值越小越好
ShaderCompilation (着色器编译):表示着色程序编译的时间,时间越小越好









网友评论