随笔分类 -  iOS-UI

摘要:https://xiaozhuanlan.com/topic/9273604158 先来张渲染的流程图: 这张图其实有很多误导,我的更改如下: 可以看到整个流程是一个pipeline(一次pipeline要跨越三帧)形式的,下面对每个步骤都做一个解释: 1.Handle Events: 处理事件,比 阅读全文
posted @ 2021-02-18 12:55 zzfx 阅读(265) 评论(0) 推荐(0) 编辑
摘要:一、一条业务pipeline: 一个连接核心:coreanimation 二、两个进程: 1、app进程; 2、render进程; 首先,由 app 处理事件(Handle Events),如:用户的点击操作,在此过程中 app 可能需要更新 视图树,相应地,图层树 也会被更新。 其次,app 通过 阅读全文
posted @ 2019-05-23 16:37 zzfx 阅读(1342) 评论(0) 推荐(0) 编辑
摘要:翻译自:Demystifying iOS Layout 在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题。通常这种问题发生的原因就是对于 view 何时真正更新的错误理解。想理解 view 在何时是如何更新的,需要对 iOS RunLoop 和相关的 UIView 方法有深刻 阅读全文
posted @ 2019-05-21 16:43 zzfx 阅读(351) 评论(0) 推荐(0) 编辑
摘要:iOS使用的是事件循环+标志更新(视图)机制。 Figure 1-7 UIKit interactions with your view objects The View Drawing Cycle The UIView class uses an on-demand drawing model f 阅读全文
posted @ 2019-05-21 15:42 zzfx 阅读(485) 评论(0) 推荐(0) 编辑
摘要:在 iOS 系统中,图像内容展示到屏幕的过程需要 CPU 和 GPU 共同参与。 CPU 负责计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。 随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行变换、合成、渲染。 之后 GPU 会把渲染结果提交到帧缓冲区去,等待下一次 阅读全文
posted @ 2019-05-21 11:39 zzfx 阅读(545) 评论(0) 推荐(0) 编辑
摘要:GPU的主要工作:图像合成、图形操作 gpu不产生图片, 只表达和处理图片、图形; 阅读全文
posted @ 2019-05-21 10:50 zzfx 阅读(730) 评论(0) 推荐(0) 编辑
摘要:http://chuquan.me/2018/09/25/ios-graphics-render-principle/ 通过 图形渲染原理 一文,大致能够了解图形渲染过程中硬件相关的原理。本文将进一步介绍 iOS 开发过程中图形渲染原理。 图形渲染技术栈 下图所示为 iOS App 的图形渲染技术栈 阅读全文
posted @ 2019-05-20 19:37 zzfx 阅读(610) 评论(0) 推荐(0) 编辑
摘要:理解的核心是理清:application、render server、opengl、core animation、gpu、显示器的关系。 本文将从 OpenGL 的角度结合 Apple 官方给出的部分资料,介绍 iOS Rendering Process 的概念及其整个底层渲染管道的各个流程。 相信 阅读全文
posted @ 2019-01-30 21:41 zzfx 阅读(503) 评论(0) 推荐(0) 编辑
摘要:Core Animation Pipeline 流水线 在 iOS上,动画和视图的渲染其实是在另外一个进程做的(下面我们叫这个进程 render server),在 iOS 5 以前这个进程叫 SpringBoard,在 iOS 6 之后叫 BackBoard。 显示逻辑 1、CoreAnimati 阅读全文
posted @ 2019-01-30 21:09 zzfx 阅读(1396) 评论(0) 推荐(0) 编辑
摘要:透明度与图层混合相关,影响到图片绘制的效率。 hidden 此属性为 BOOL 值,用来表示 UIView 是否隐藏。关于隐藏大家都知道就是让 UIView 不显示而已,但是需要注意的是: 当前 UIView 的所有 subview 也会被隐藏,忽略 subview 的 hidden属性。UIVie 阅读全文
posted @ 2019-01-30 14:24 zzfx 阅读(807) 评论(0) 推荐(0) 编辑
摘要:So, shouldRasterize will not affect the green/red you see using Instruments. In order to have everything green, you'll need to not use transparency an 阅读全文
posted @ 2019-01-29 17:58 zzfx 阅读(624) 评论(0) 推荐(0) 编辑
摘要:Core Animation是对OpenGL ES的Objective-C封装,具有与OpenGL ES几乎等价的高性能,却隐藏了OpenGL ES的复杂性。 https://www.cnblogs.com/feng9exe/p/6723056.html https://www.cnblogs.co 阅读全文
posted @ 2019-01-29 12:37 zzfx 阅读(485) 评论(0) 推荐(0) 编辑
摘要:重开一个环境(内存、资源、上下文)来完成(部分)图片的绘制 指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作 意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。 红色代表GPU需要做额外的工作来渲染View,绿色代表GPU无需做额外的工作来处理bitmap。 U 阅读全文
posted @ 2019-01-28 16:45 zzfx 阅读(2218) 评论(0) 推荐(0) 编辑
摘要:卡顿产生的原因和解决方案 在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建、布局计算、图片解码、文本绘制等。随后 CPU 会将计算好的内容提交到 GPU 去,由 GPU 进行变换、合成、渲染。 阅读全文
posted @ 2019-01-25 18:53 zzfx 阅读(621) 评论(0) 推荐(0) 编辑
摘要:DTCoreText 、WKWebView 、UIWebView的比较 HTML->View 数据解析: WebCore:排版引擎核心,WebCore包含主要以下模块:Loader, Parser(DOM,Render), Layout,Paint。 是脚本语言,需要逐句解析出来,然而DOM/CSS 阅读全文
posted @ 2019-01-25 16:29 zzfx 阅读(392) 评论(0) 推荐(0) 编辑
摘要:automaticallyAdjustsScrollViewInsets:在导航栏透明时用到 In your viewDidLoad method, add if([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.ed 阅读全文
posted @ 2018-09-11 16:23 zzfx 阅读(184) 评论(0) 推荐(0) 编辑
摘要:https://my.oschina.net/w11h22j33/blog/208574 关于UIView的Layer,IOS提供了三个方法: 1、layoutSubviews 在iOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),iOS5.1之后(iOS6开始)的版本,此方法的缺 阅读全文
posted @ 2018-09-11 14:34 zzfx 阅读(125) 评论(0) 推荐(0) 编辑
摘要:[译]Android view 测量布局和绘制的流程 原文链接 创造优秀的用户体验是我们开发者的主要目标之一.为此, 我们首先要了解系统是如何工作的, 这样我们才可以更好的与系统配合, 从它的优点中获益, 规避它的缺陷. 之前关于Android渲染过程的文章 这次我们主要关注Measure/Lay 阅读全文
posted @ 2018-09-10 19:13 zzfx 阅读(235) 评论(0) 推荐(0) 编辑
摘要:https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html#//apple_ref/doc 阅读全文
posted @ 2018-08-07 13:16 zzfx 阅读(114) 评论(0) 推荐(0) 编辑
摘要:由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择会感到有些迷茫,甚至会觉得iOS的图形绘制有些繁琐。因此,本文主要介绍一下iOS的绘图方法和分析一下CoreGraphics框架的绘图原理。 一、绘图系统简介 iOS的绘图框架有多种,我 阅读全文
posted @ 2018-08-06 20:43 zzfx 阅读(325) 评论(0) 推荐(0) 编辑