美文网首页
图形图像前篇

图形图像前篇

作者: sweetpf | 来源:发表于2019-04-09 14:33 被阅读0次

图形图像是进阶资深程序猿的重要一步,不论平台,不论语言,图形图像都是核心岗位的核心技能,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 优势:

  • 最低支持 iOS 4.0,iOS 5.0 之后就支持自定义滤镜。
  • 在低端机型上,GPUImage 有更好的表现。(这个我没用真正的设备对比过,GPUImage 的主页上是这么说的)
  • GPUImage 在视频处理上有更好的表现。
  • GPUImage 的代码完成公开,实现透明。
  • 可以根据自己的业务需求,定制更加复杂的管线操作。可定制程度高。

Core Image 优势:

  • 官方框架,使用放心,维护方便。
  • 支持 CPU 渲染,可以在后台继续处理和保存图片。
  • 一些滤镜的性能更强劲。例如由 Metal Performance Shaders 支持的模糊滤镜等。
  • 支持使用 Metal 渲染图像。而 Metal 在 iOS 平台上有更好的表现。
  • 与 Metal,SpriteKit,SceneKit,Core Animation 等更完美的配合。
  • 支持图像识别功能。包括人脸识别、条形码识别、文本识别等。
  • 支持自动增强图像效果,会分析图像的直方图,图像属性,脸部区域,然后通过一组滤镜来改善图像效果。
  • 支持对原生 RAW 格式图片的处理。
  • 滤镜链的性能比 GPUImage 高。(没有验证过,GPUImage 的主页上是这么说的)。
  • 支持对大图进行处理,超过 GPU 纹理限制 (4096 * 4096)的时候,会自动拆分成几个小块处理(Automatic tiling)。GPUImage 当处理超过纹理限制的图像时候,会先做判断,压缩成最大纹理限制的图像,导致图像质量损失。

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

相关文章

  • 图形图像前篇

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

  • 第05节 OSG相关书籍

    以下是图形图像和OSG相关的图书汇总,包含图形图像相关的书籍比如GPU pro, GPU GEMS, OPENG相...

  • Chapter 10. 图形图像处理&动画

    阅读原文 图形图像处理&动画 10.1 图形图像处理 在Android中,绘制图形时最常用就是Bitmap类、Bi...

  • Android学习笔记18 图形图像完全解析

    本文主要对Android开发中图形图像部分的相关内容作个简单的学习总结。 一、图形图像概述 在我们的应用开发中,图...

  • 图形图像基础

    一、 位图与矢量图 定义位图:优点:利于显示色彩层次丰富的写实图像。缺点:文件较大,放大和缩小图像会失真。矢量图:...

  • 图形图像世界

    openGL的从现实物理学,特别现代的光学成像系统角度来进行深度思考。 openGL完成了从想象到计算机视图的过程...

  • 图形图像操作

    PHP图形操作之GD库简介 GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD...

  • 前篇

    今天8.31,教学楼打扫之后迎来了新学期的开门,不是我的新学期,四年前是我的,但现在不是了。门上的通知说下...

  • 前篇

    作为一个人,我需要做的太多,但谁有不是和我一个样?只几年来的变化让我变得太孤寂,那么的内向。幻想着未来的生...

  • 「前篇」

    “莹莹,乖莹莹,乖”陌生的脸出现在我的身边。那是一个母亲的脸。她和其他母亲不同打扮的很靓丽很年轻,旁边有个男孩。他...

网友评论

      本文标题:图形图像前篇

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