美文网首页
Metal入门001-初识Metal

Metal入门001-初识Metal

作者: 星星1024 | 来源:发表于2020-08-25 15:39 被阅读0次

    前言

    Metal是苹果在2018年推出用于取代在苹果端的业务的图形编程接口,在2018年之前使用的是基于OpenGL ES封装的GLKit,通过Metal相关API直接操作GPU,能最大限度的利用GPU能力。

    Metal特点

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

    Metal的图形管道(graphics pipelines)

    Metal的图形渲染管道和OpenGL ES是一样的

    • 通过CPU将顶点数据传递到顶点着色器
    • 顶点着色器将处理好的顶点进行图元装配
    • 光栅化,得到每个像素点的颜色值
    • 将颜色传入片元片元着色器进行处理
    • 将数据存储到帧缓冲区,并显示到屏幕上
    Metal Graphics Pipelines流程

    Apple Metal 建议

    • Separate Your Rendering Loop 分开渲染循环
      • 不希望将渲染的处理放到VC中,希望将渲染循环封装在一个单独的类中
    • Respond to View Events 响应视图的事件
      • MTKViewDelegate协议,也需要放在自定义的渲染循环中
    • Metal Command Objects创建命令对象
      • 创建执行命令的GPU、与GPU交互的MTLCommandQueue对象以及MTCommandBuffer渲染缓存区湘

    Metal命令对象之间的关系

    1. 命令缓冲区(commandBuffer)是命令队列(commandQueue)创建的
    2. 命令编码器(command encoder)将命令编码到命令缓存区中
    3. 提交命令缓存区并将其发送到GPU
    4. GPU执行命令并将结果呈现为可绘制
    Metal命令对象之间的关系

    相关文章

      网友评论

          本文标题:Metal入门001-初识Metal

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