美文网首页
iOS笔记-UI绘制和渲染

iOS笔记-UI绘制和渲染

作者: lmao94 | 来源:发表于2022-04-26 10:02 被阅读0次
iOS中图形绘制框架大致结构
UiKit.png
层次:

最上层是UIKit,其下是CoreAnimation,(就是layer层,layer专门负责图形显示和渲染,而UIKit中的UIView等视图控件就是对layer封装添加了交互等功能),再往下就是基于GPU的OpenGL和基于CPU的CoreGraphics的绘制引擎

渲染:

OpenGL的渲染分为当屏渲染和离屏渲染,离屏渲染需要在当前屏幕缓冲区之外新开辟一个缓冲区,对此需要切换上下文环境付出一些性能上的代价
\color{red} {在绘制阴影,遮罩,圆角这样图层属性没有合成之前,不能直接在屏幕上显示,所以需要离屏渲染,因为影响性能,所以要尽量避免}

离屏渲染触发方式:

  • shouldRasterize(光栅化)
  • masks(遮罩)
  • shadows(阴影)
  • edge antialiasing(抗锯齿)
  • group opacity(不透明)

CPU渲染则是使用core Graphics技术或者重写drawRect会触发
\color{red} {由于cpu渲染的性能和离屏渲染都有性能问题,所以实现功能的时候优先当屏渲染,其次才要具体再做选择}

相关文章

  • iOS笔记-UI绘制和渲染

    iOS中图形绘制框架大致结构 层次: 最上层是UIKit,其下是CoreAnimation,(就是layer层,l...

  • Flutter的渲染机制

    Flutter能够做到跨平台是因为使用的是Skia渲染引擎来绘制UI,不仅可以保证Android和iOS上UI的一...

  • metal初探

    前言 metal是iOS底层图形渲染技术,它是利用GPU进行渲染,它允许我们程序员直接操作GPU绘制,所以相比UI...

  • IOS - UIView绘制流程 (displayLayer)(

    性能优化之 UI渲染优化 - 异步渲染 使用displayLayer进行异步绘制

  • Graver文字绘制核心类

    美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染在Graver初探中,探索了Graver的绘制周...

  • iOS绘制和渲染

    绘制和渲染的流程 运行一段动画的过程可以分为6个阶段: 1> 布局 - 为视图/图层准备层级关系,以及设置图层属性...

  • iOS绘制和渲染

    前言 我们平常iOS开发中,很少有机会能够深入的了解绘制和渲染详细的底层过程,在UI显示方面,我们大多时候都只知其...

  • 为什么安卓手机的流畅度不如iPhone好

    1、首先是iOS和安卓的渲染机制不同,iOS的UI渲染采用的是实时优先级,而安卓的UI渲染采用的是遵循pc模式的主...

  • Android UI渲染优化

    Android UI渲染优化 1. 过度绘制优化 什么是过度绘制? Overdraw(过度绘制)描述的是屏幕上的某...

  • 如何构建异步渲染聊天框架

    为何要异步渲染 UI 众所周知, 在 iOS 系统中, UI 只能在主线程中渲染,在 iPhone 13 之前, ...

网友评论

      本文标题:iOS笔记-UI绘制和渲染

      本文链接:https://www.haomeiwen.com/subject/myvkyrtx.html