版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.10.05 星期五 |
前言
很多做視頻和圖像的,相信對這個框架都不是很陌生,它渲染高級3D圖形,并使用GPU執行數據并行計算。接下來的幾篇我們就詳細的解析這個框架。感興趣的看下面幾篇文章。
1. Metal框架詳細解析(一)—— 基本概覽
2. Metal框架詳細解析(二) —— 器件和命令(一)
3. Metal框架詳細解析(三) —— 渲染簡單的2D三角形(一)
About GPU Family 4 - 關于GPU Family 4
了解A11功能,包括光柵順序組,平鋪著色器和圖像塊。
Overview - 概覽
GPU Family 4
描繪了A11芯片及其Apple設計的圖形處理器(GPU)
架構所支持的新功能和增強性能。
iOS和tvOS設備中的GPU實現了一種稱為基于圖塊的延遲渲染tile-based deferred rendering(TBDR)
的渲染技術,以優化性能和功效。 在傳統的立即模式(IM)
渲染器中,當三角形被提交給GPU進行處理時,它會立即呈現給設備內存。 三角形由光柵化和片段函數階段處理,即使它們被稍后提交給GPU的其他基元遮擋。
Tile-Based Deferred Rendering - 基于圖塊的延遲渲染
TBDR
對IM
架構進行了一些重大更改,在提交了所有基元后處理場景。屏幕被拆分為單獨處理的圖塊。同時處理與圖塊相交的所有幾何圖形,并在光柵化和片段著色階段之前丟棄被遮擋的圖像。將圖塊渲染到GPU上的快速本地存儲器中,并且僅在渲染完成后才將其寫入設備存儲器。
TBDR允許頂點和片段階段異步運行 - 相對于IM
提供顯著的性能提高。在運行渲染過程的片段階段時,硬件并行執行未來渲染過程的頂點階段。頂點階段通常大量使用固定功能硬件,而片段階段則使用數學和帶寬。完全重疊它們允許設備同時使用GPU上的所有硬件模塊。
TBDR使用的圖塊存儲器有三個重要特征。首先,著色器核心和圖塊存儲器之間的帶寬比GPU和設備存儲器之間的帶寬高許多倍,并且與著色器核心的數量成比例地縮放。其次,圖塊內存的內存訪問延遲比訪問設備內存的延遲低許多倍。最后,圖塊內存消耗的功率遠低于設備內存。
在基于A7
到A10
的設備上,Metal沒有明確描述這種基于圖塊的架構;相反,您使用它來提供底層實現的提示。例如,加載和存儲操作控制將哪些數據加載到本地存儲器以及將哪些數據寫入設備存儲器。類似地,無內存緩沖區指定僅在渲染通道期間使用的每像素中間數據;實際上,這些數據存儲在GPU的快速本地存儲器中。
Metal 2 on the A11 GPU - A11 GPU 中的Metal 2
A11
中Apple設計的GPU提供了幾項顯著增強TBDR
的功能。 這些功能通過Metal 2 API
提供,使您的應用和游戲能夠實現更高水平的性能和功能。
這些功能包括圖像塊,圖塊著色,光柵順序組,圖像塊樣本覆蓋控制和線程組共享。 A11 GPU
上的Metal 2
還可以提高碎片丟棄性能。
從廣義上講,這些功能可以更好地控制內存布局和存儲在圖塊中的數據,并提供更細粒度的同步,以便在GPU上保持更多工作。 最終結果是,您可以在單個渲染過程中執行比以前更多種類的計算,從而將計算保持在快速本地內存中。
A11上的Metal 2
還簡化了諸如次表面散射,與順序無關的透明度和基于圖塊的照明算法等技術的實現。
Topics
1. GPU Family 4 Features - GPU系列4功能
-
- 了解
imageblocks
如何允許您在高帶寬圖塊內存中定義和操作自定義每像素數據結構。
- 了解
-
- 了解在共享本地內存時將渲染和計算操作組合到單個渲染過程中。
-
- 了解精確控制訪問相同像素坐標的并行片段著色器線程的順序。
-
About Enhanced MSAA and Imageblock Sample Coverage Control
- 了解如何在圖塊著色器中訪問多重采樣跟蹤數據,啟用自定義
MSAA
解析算法的開發等。
- 了解如何在圖塊著色器中訪問多重采樣跟蹤數據,啟用自定義
-
- 了解增強的內存模型,該模型允許在線程之間靈活高效地共享數據。
后記
本篇主要講述了關于GPU Family 4,感興趣的給個贊或者關注~~~