性能调优Core Animation

Graphics and Animations 原理

2018-12-12  本文已影响104人  人魔七七

整体技术层级

注意:这几个层级我们平常可能多少会接触到,查看文档大致了解下原理。

大致流程如下:

  1. 首先,由 app 处理事件(Handle Events),如:用户的点击操作,在此过程中 app 可能需要更新 视图树,相应地,图层树 也会被更新。
有时候基于UIView做的动画
  1. 其次,app 通过 CPU 完成对显示内容的计算,如:视图的创建、布局计算、图片解码、文本绘制等。在完成对显示内容的计算之后,app 对图层进行打包,并在下一次 RunLoop 时将其发送至 Render Server,即完成了一次 Commit Transaction 操作。
Commit Transaction之前的操作



  1. Render Server 主要执行 Open GL、Core Graphics 相关程序,并调用 GPU,下图OpenGL 主要渲染步骤


一个用来渲染图像的 OpenGL 程序主要可以大致分为以下几个步骤:

  1. GPU 则在物理层上完成了对图像的渲染。
  2. 最终,GPU 通过 Frame Buffer、视频控制器等相关部件,将图像显示在屏幕上如下图


最后3,4,5几个步骤流程图

性能调优

知道原理我们可以针对可以控制的会影响CPU GPU 的步骤调优,这里我们不是无脑的调优,我们需要用上Instrument工具。以后我们会对每个步骤调优进行介绍。

参考链接:
iOS 图像渲染原理
iOS 图像渲染原理
深入理解 iOS Rendering Process
界面渲染的整体流程
UI绘制原理

WWDC:Advanced Graphics and Animations for iOS Apps

上一篇 下一篇

猜你喜欢

热点阅读