01-Metal框架介绍

Metal框架介绍

Metal 2014年WWDC首次走入移动领域.

Metal Kit

目的:就是让iOS开发者用极少的代码,解决Metal渲染问题.让开发变的更加轻松,方便,快速.
视图管理: MTKView.

经典GPU架构

在继续下面的学习前,我们先了解一下经典的GPU的架构.GPU是大规模并行机器。


上图中,展示了Vertex Stage(顶点阶段)和Fragment Stage(片段阶段)进行了多次重复和并行运算基本的GPU经典架构上处理片元并且产生深度和颜色数据缓存区和纹理.在这个架构中有一个具有决定性的特性,就是Vertex Stage(顶点阶段)的输出,直接提供给Fragment Stage(片元阶段)

TBDR GPU结构

Tile- based Deferred Rendering Architecture的架构


所有的A-series的GPU,都是基于TBDR架构.也就是说所有的A11的都是基于TBDR架构.

TBDR也是有所优化的.第一主要不同的就是Vertex Stage的输出不再直接提供给Fragment Stage.不同的,当基元从Vertex State输出时,它们将置于对齐屏幕的小图块中并且存储到内存里.


这样的改变, 使得Vertex Stage可以与Fragment Stage相对的异步运行. 当一个渲染通道的Fragment Stage运行时, 硬件可以在为了的渲染通道并执行Vertex Stage, 异步运行Vertex Stage. 可以大幅度的提高性能. Vertex Stage常常被固定功能硬件大量使用. 而Fragment Stage, 在数据和宽带处理领域广泛应用完全重叠两者使得我们可以同时使用GPU上的所有硬件模块. 把基元置于图块使我们可以在一个图块里处理所有的基元.

那我们来看看如果利用这个特性.

我们在着色器核心附近的芯片上, 置入图块大小完整分辨率的深度缓冲区模板缓存区和帧缓存器.我们将这个内存称为图块内存.


图块内存有3个特性
●第一着色器内核与图块内存之间的带宽比GPU和外部存储之间的带宽, 高出很多倍. 比例与着色器内核的数据相当
●第二图块内存的访问延迟与外部存储的方面要低很多倍
●最后, 图块内存与外部存储相比,大大减少了用电量.

TBDR, 为2种主要的优化使用了这种低延迟, 低能耗, 高带宽的内存首先这种图块的深度/模板内存使得硬件可以为不透明的目标在着色器内核处理之前生成完整的深度和模板缓存信息. 这样硬件就可以在输送给着色器内核之前,完全剔除阻塞的片段. 如果后面的渲染通道, 不需要深度缓冲,那么这种全尺寸深度缓冲区就可以了. 通过无记忆的渲染目标, 完全忽略. 节省了大量的内存带宽存储空间和电量. 其次图块内存被用于在芯片上存储颜色缓存区, 混合操作会很快, 因为不再需要从外部存储获取全尺寸帧缓冲. 当全部图块运行完毕的时候, 图块内存只被写入一次. 这样节省了一大部分的电量和带宽。提高了性能, 由于这个内存的速度更快, 所以现在占用率更高了. 有了帧缓存区,你可以使用自定义的混合. 并启用多种先进的技术与无记忆的帧缓存区器结合.

这样,很多技术都无需消耗外部存储. 所以即使带宽有限, TBDR, 也可以表现出优越的性能. TBDR消耗更低的电量. 这对电池驱动设备十分重要.

A11 GPU架构

现在让我们回到A11的GPU.上面,在A11上苹果做出第一个GPU架构的改变是

你可以对你的片段函数中的图块内存上面的数据进行直接控制. imageblock为获取图块内存中的图像数据,提供了优化通道. 你将可以使用对你的APP有意义的方式, 来布置像素而且仍然可以高效的渲染. 在imageblock是一个图块内存中的2D的数据结构, 你可以指定它的宽度, 高度, 深度和格式, Metal 2在着色语言中, 增加了纹理像素格式. 目的是通过打包的数据类型, 让你拥有对像素布局的全部控制.

第二个主要 架构优化

让你可以同时获取图块内存中,存储的所有像素.图块着色是Apple A11 GPU上新.的可编程阶段,与渲染通道一起提供计算功能.图块着色在Metal2中展现了全新的水平的性能和效率.渲染和计算操作现在能以更高的带宽更低的延迟和更低的能:耗.通过图块内存共享数据.图块着色与imageBlock紧密结合.你可以分析imageBlock的内容,总结内容存储imageBlock的Mid-Scene(进程数据)甚至修改imageblock的布局,你还可以使用线程组内存.就像一个平常 的计算内核一样使用.对于图块着色器来说,线程组内存是持续不断的.任何一个图块的连续调用,都可操作于线程组内存.起始于此的图块着色器留下的值,这同样适用于imageblock内存.它们在图块和片段的调用之间,连续不断.

除此以外还有Raster Order Group(光栅扫描顺序组)的高级版本.这个版本支持imageBlock和图块着色,并且最终Apple拓展了Metal的着色语言.赋予你对不同样本的imageblock的全部控制.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355