[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系列文章.性能

下次見!學習

相關文章
相關標籤/搜索