[MetalKit]42-Metal 2 on the A11 GPU

本系列文章是对 metalkit.org 上面MetalKit内容的全面翻译和学习.数据结构

MetalKit系统文章目录app


当九月份采用A11的新机型(8,8Plus和X)发布时,一个新的GPU Family 4 网页也发布了,同时还有一系列标签为Fall 2017新Metal视频发布出来.新的A11 Bionic处理器,是第一款苹果设计的GPU并带有三个核心的处理器.在内部测试状态下,比A10GPU快了30%.它还带有一个新的神经引擎硬件以应对机器学习.机器学习

下面是我从Metal Feature Sets文档中整理出来的一张表格.它只包括了A11上引入的Metal 2特性. ionic

A11.png

注意:我只列出了A11上出现的新特性,某些特性在macOS上也能够使用.ide

让咱们简单看下这些特性:post

  • Imageblocks - 这并非一个iOS上的新概念,可是,A11上的Metal 2让咱们能将imageblocks(它是在tile memory瓦片内存中的结构化图像数据)当作数据结构体来进行彻底控制.它们是和片断着色器,计算着色器整合在一块儿的.
  • Tile Shading - 它是一种渲染技术,能容许片断着色器和计算着色器访问两个渲染语句之间的持久化的Tile memory瓦片内存.Tile memory是GPU上的芯片内存,经过在本地储存中间结果而没必要使用设备内存,来改善性能.一个语句的瓦片内存能够被后面语句访问.
  • Raster Order Groups - 提供来自片断着色器的顺序内存访问和便利特性,例如顺序无关的透明度,双层G缓冲器,以及体素化.
  • Imageblock Sample Coverage Control - A11上的Metal 2追踪每一个像素的唯一采样数,在新几何体被渲染时更新这个信息.这样当被覆盖的采样颜色相同时,一个像素混合迭代会更少,相比A10或更早的GPU.
  • Threadgroup Sharing - 容许多个线程组及一个线程组内的各线程使用原子操做或一个内存栅栏来互相通讯,而无需多个内存栅栏.

Metal发布的同时,Face Tracking with ARKit 视频和Creating Face-Based AR Experiences网页也被发布出来了.Face Tracking,目前只能在iPhone X上使用,由于当前只有它拥有TrueDepth前置摄像头.咱们在九月发布会的keynote上看到的最直接运用面部追踪的应用就是Animoji了.全新的Neural Engine神经引擎硬件负责处理FaceIDAnimoji,还有其它机器学习任务. 由于我最近购买了iPhone X,可能接下来会写几篇Using ARKit with Metal系列文章.性能

下次见!学习

相关文章
相关标签/搜索