美文网首页
Metal 简介

Metal 简介

作者: AndyGF | 来源:发表于2020-08-27 23:01 被阅读0次

Metal是苹果在2018年推出的苹果自己的图形编程接口,在2018年之前使用的是基于OpenGL ES 封装的 GLKit ,通过 Metal 相关 API 直接操作 GPU,接近于直接操作 GPU, 再加上硬件 和 软件 都是苹果自己的, 这样一来能最大限度的发挥 GPU 性能。

苹果官方的介绍:

Metal

苹果官方称 可以同时渲染 3500 只动效的蝴蝶不会卡顿.

蝴蝶动效

Metal具有以下特点

  • 低 CPU 开销;
  • 最佳 GPU 性能,即 Metal 能在 GPU上发挥最大的性能;
  • 最大限度的提高 CPU/GPU 的并发性;
  • 有效的资源管理


    Metal 特点 - 官方介绍
图形管道(graphics pipelines

Metal 中图形管道与 OpenGL ES 是一致的,并没有什么差别,所以对于 OpenGL ES 开发者来说, 学习也会更容易一些.

Metal 中的图形管道.png
  1. 通过CPU将顶点数据传递到顶点着色器;
  2. 顶点着色器将处理好的顶点进行图元装配;
  3. 光栅化,得到每个像素点的颜色值;
  4. 将颜色传入片元着色器进行处理;
  5. 将数据存储到帧缓存区;
  6. 显示到屏幕上.
苹果对 Metal 的使用有以下几点建议:
  • 分开渲染循环(Separate Your Rendering Loop) :将渲染的处理 与 VC 分离,封装在一个单独的类中.
  • 响应视图的事件(Respond to View Events),即实现 MTKViewDelegate 协议,也需要放在自定义的渲染循环中
  • 创建一个命令对象(Metal Command Objects) ,即创建执行命令的 CPU 与 GPU 交互的MTLCommandQueue 对象以及 MTCommandBuffer 渲染缓存区对象.
Metal 命令对象之间的关系
Metal 命令对象之间的关系
  1. 命令缓存区(command buffer)是从命令队列(command queue)创建的;
  2. 命令编码器(command encoder)将命令编码到命令缓存区中;
  3. 提交命令缓存区并将其发送到 GPU;
  4. GPU 执行命令并将结果呈现为可绘制.

相关文章

  • Metal简介

    Metal:苹果在2018年推出的用于取代在苹果端业务的图形编程接口。通过Metal相关API直接操作GPU,能最...

  • Metal 简介

    Metal是苹果在2018年推出的苹果自己的图形编程接口,在2018年之前使用的是基于OpenGL ES 封装的 ...

  • Metal基本认识

    Metal简介 在 WWDC 2014 上,Apple为游戏开发者推出了新的平台技术 Metal。通过Metal相...

  • Metal初探

    1.Metal简介 Metal是苹果为了减少对OpenGLES的依赖所封装的框架,在iOS系统中,Metal可以发...

  • Metal Shading Language 简介

    简介: Metal Shading Language(以下简称 MSL) 很明显是用于 Metal 程序中的着色语...

  • 《Metal》官方文档翻译001 - 简介

    写在前面: 如果大家对Metal感兴趣,欢迎订阅我的专题:Metal官方文档翻译。咱们一起进步。 Metal简介 ...

  • Metal-简介

    Metal介绍 Metal是苹果在2018年推出用于取代在苹果端的业务的图形编程接口,在2018年之前使用的是基于...

  • 三:Metal着色器语⾔规范

    Metal简介 Metal着色器语言是用来编写 3D图形渲染逻辑、并行Metal计算核心逻辑 的一门编程语言,当你...

  • Metal Shading Language 语法规范

    1. Metal Shading Language简介 Metal着色语言是用来编写3D图形渲染逻辑和并行计算核心...

  • iOS Metal初识

    一.Metal 简介 在WWDC2014 上,Apple为游戏开发者推出了新的平台技术 Metal,该技术能够为 ...

网友评论

      本文标题:Metal 简介

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