At a Glance
- the command submission model:命令提交模型
- the memory management model:内存管理模型
- the use of independently compiled code for graphics shader :独立编译图形着色器
- data-parallel computation functions:数据并行计算函数
Fundamental Metal Concepts
- Low-overhead interface.(低开销接口):Metal被设计的目的便是消除那些隐藏着的性能瓶颈,如隐式状态验证;您可以控制GPU的异步行为,以便高效地多线程处理,用于并行创建和提交命令缓冲区。
- Memory and resource management.(内存和资源管理):Metal框架描述代表GPU 内存创建的buffer 和 texture 对象。纹理对象有特殊像素格式,而且可能应用到纹理图像或者附属属性上(attachments)
- Integrated support for both graphics and compute operations.(对图形绘制和计算操作的整合支持):Metal在图形绘制和计算操作中用相同的数据结构和资源,例如buffers,textures,command queues。此外,Metal shading language 支持图形绘制和计算函数,Metal 框架可让资源共享于runtime接口,graphics shaders, 和compute functions
- Precompiled shaders(预编译shanders)Metal shaders可以在构建时与你的app 代码一起编译,然后在运行时加载。这样的工作机制可以提供更好的代码生成和更容易的shader code调试
一个Metal app不可以在后台执行metal命令,如果试图这么做的话,该应用会被终止。