图形图像前篇

2019-04-09  本文已影响0人  sweetpf

图形图像是进阶资深程序猿的重要一步,不论平台,不论语言,图形图像都是核心岗位的核心技能,so,你需要get它。

本文将先介绍iOS和Mac平台的工作原理,然后归纳当前iOS图形图像的主流框架和技术,只会在关键信息上阐述。

Metal前后GPU渲染

WWDC 2018宣布iOS12 之后弃用 OpenGL ES,而OpenGL ES当前提供重要的GPU渲染角色,如下:


yfs99lgwmy.png

对应的display流程为:


yush59o06b.png

Metal之后,Metal会取代OpenGL ES,如下:


b46982393015ecfbfbb88130a2bb9f1b.png

对应的display流程为:


4b31522f8b9bd39e0083a429e236fd28.png

图形图像框架汇总

在iOS技术栈中,图形图像包含两大类,一类是以C语言为核心的第三方框架,兼容多系统,多平台;一类是苹果提供给iOS开发者的专有框架。


UIKit.png

Core Image vs GPUImage

其他图像处理方案的对比,这里比较有争议的就是 OpenGLES 和 Core Image 了。

在 OpenGLES 部分,拿主流的 GPUImage 来做对比,分析一下它们各自的优缺点。只有对比了才知道,Core Image 好在哪里,是否值得使用。

PS:以下的优势阐述,撇去了两个框架都具备的,仅保留对比后各自的优势。

另外,GPUImage 我没有深入学习过,对于它的一些优势,主要是总结它的开发者 Brad 描述的,以及简单的 Demo 进行对比。

GPUImage 优势:

Core Image 优势:

至此,我觉得 Core Image 的优势很明显了,尤其是与 Metal 的配合,自动增强图像效果,支持处理大图以及滤镜链的优化。

上一篇下一篇

猜你喜欢

热点阅读