美文网首页
Metal基本认识

Metal基本认识

作者: w執念 | 来源:发表于2020-08-31 16:07 被阅读0次

    Metal简介

    在 WWDC 2014 上,Apple为游戏开发者推出了新的平台技术 Metal。通过Metal相关API我们可以直接操作GPU,能最大限度的利用GPU能力。
    Metal具有以下几个特点:

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

    Metal的渲染流程

    Metal中图形管道与OpenGL ES是一致的,通过控制顶点着色器/片元着色器,交给帧缓冲区,最后显示到屏幕上。具体可细分为:

    • 通过CPU将顶点数据传递到顶点着色器
    • 顶点着色器将处理好的顶点进行图元装配
    • 进行光栅化,得到每个像素点的颜色值
    • 将颜色传入片元着色器进行处理
    • 将数据存储到帧缓存区,并显示到屏幕上
      注:相比OpenGL ES,Metal的图元装配方式只有五种 :
      点:MTLPrimitiveTypePoint ; 线:MTLPrimitiveTypeLine ;
      线环:MTLPrimitiveTypeLineStrip; 三角形:MTLPrimitiveTypeTriangle
      三角型扇:MTLPrimitiveTypeTriangleStrip

    Metal的使用建议

    苹果在Metal的使用方面,给开发者提供了几点建议:

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

    Metal 命令对象之间的关系

    1. 命令缓存区(command buffer) 是从命令队列(command queue) 创建的
    2. 命令编码器(command encoders) 将命令编码到命令缓存区中
    3. 提交命令缓存区并将其发送到GPU
    4. GPU执⾏命令并将结果呈现为可绘制.

    相关文章

      网友评论

          本文标题:Metal基本认识

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