版本记录
版本号 | 时间 |
---|---|
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,感兴趣的给个赞或者关注~~~