在iOS中,渲染通常分为CPU和GPU渲染两种,而GPU渲染又分为在GPU缓冲区和非GPU缓冲区两种
CPU(中央处理器)对象的创建和销毁,对象属性的调整、布局计算、文本的计算和排版、图片格式转码和解码、图像的绘制(Core Graphics)
GPU(图形处理器)
纹理的渲染(OpenGL)
那CPU和GPU是怎么协作呢?
一个app的展示会包含很多内容,诸如,label,imageview,button等等。这些控件的位置,大小,颜色则都是由CPU来计算,计算完成后CPU会将这些数据提交给GPU来进行渲染,只有经过GPU的渲染才能显示在屏幕上。
GPU做的操作则是:将收到的数据转成屏幕能显示的数据格式,所以要进行渲染的操作。渲染的操作是直接放在帧缓存(缓存区)。然后视频控制器从缓存区 读取的数据显示在屏幕上。就完成了一个显示的操作。
1
通过instrument获取CPU的
选择Time Profile
1
2.启动Time Profile,选择真机跑
底部的callTree要够选,可以过滤掉系统库,用Tree结构展示更直观
最顶部是CPU的占用百分比。可以通过TraceUtitly逆像将数据导出来
https://github.com/Qusic/TraceUtility(有些逆向API已经无法使用,需要自行修改)