Metal框架詳細(xì)解析(一)—— 基本概覽

版本記錄

版本號 時間
V1.0 2017.10.05

前言

很多做視頻和圖像的类浪,相信對這個框架都不是很陌生邮偎,它渲染高級3D圖形,并使用GPU執(zhí)行數(shù)據(jù)并行計算棵里。接下來的幾篇我們就詳細(xì)的解析這個框架润文。

Metal是什么?

Metal 是一個和 OpenGL ES 類似的面向底層的圖形編程接口殿怜,通過使用相關(guān)的 api 可以直接操作 GPU典蝌。

注意:Metal只針對蘋果的平臺系統(tǒng)使用,不像OpenGL ES 那樣可以進(jìn)行跨平臺使用但是它能最大的挖掘蘋果移動設(shè)備的 GPU 能力稳捆,進(jìn)行復(fù)雜的運算赠法,像 Unity 等游戲引擎都通過 Metal 對 3D 能力進(jìn)行了優(yōu)化麦轰。

下面看一下Metal在蘋果軟硬件框架里面的架構(gòu)乔夯。

UIKit -> Core Graphics -> Metal/OpenGL ES -> GPU Driver -> GPU

Metal根據(jù)不同的 CommandBufferEncoder 可以提供不同的能力,除了優(yōu)秀的 3D 渲染能力款侵,Metal 還能提供強(qiáng)大的計算能力末荐。

在 WWDC 2015,蘋果發(fā)布了 Metal Performance Shaders (MPS) 框架新锈,iOS 9 上的一組高性能的圖像濾鏡甲脏,其實就是邊寫好的 Shaders,提供了優(yōu)秀的圖像處理能力。同時還提供了高性能的矩陣運算的 Shaders 块请,能用來做機(jī)器學(xué)習(xí)的運算娜氏,在 GPU 上運行卷積神經(jīng)網(wǎng)絡(luò)。


Metal的特點

下面看一下Metal的特點:

  • GPU 支持的 3D 渲染
  • 和 CPU 并行處理數(shù)據(jù) (深度學(xué)習(xí))
  • 提供低功耗接口
  • 與 CPU 共享資源內(nèi)存

其實這個我們在平時圖像和視頻渲染的時候墩新,都需要對每一幀像素進(jìn)行很多的浮點型運算贸弥,這個運算其實CPU個GPU都可以做,但是GPU處理起來更有優(yōu)勢海渊,如果給CPU處理會很耗性能绵疲。通過有效的利用 GPU,可以成百倍甚至上千倍地提高手機(jī)上的圖像渲染能力臣疑。如果不是基于 GPU 的處理盔憨,手機(jī)上實時高清視頻濾鏡是不現(xiàn)實,甚至不可能的讯沈。


基本架構(gòu)

下面看一下該框架的基本信息郁岩。

Metal包括Metal frameworkMetalKit framework缺狠,Metal shading languageMetal standard library驯用。 您可以使用Metal來獲取對圖形處理單元(GPU)的低級和低開銷訪問,從而最大限度地提高圖形和計算應(yīng)用的潛力儒老。

下面我們就看一下這個框架的基本架構(gòu)蝴乔。


框架結(jié)構(gòu)解析

下面我們就詳細(xì)的看一下這個框架的結(jié)構(gòu)。

1. First Steps

2. Fundamentals

  • Fundamental Components
    • 與GPU交互囚衔,并了解如何存儲挖腰,組織和處理你的app數(shù)據(jù)。

3. Compute

  • Compute Processing
    • 執(zhí)行GPU上的計算處理工作負(fù)載练湿,例如用于精密科學(xué)計算猴仑。

4. Graphics

  • Graphics Rendering
    • 在GPU上執(zhí)行圖形渲染工作負(fù)載,例如高端3D游戲中使用的圖形渲染工作負(fù)載肥哎。

5. Displays

  • Display Management
    • 顯示屏幕上的Metal內(nèi)容辽俗,無論是通過圖形渲染還是計算處理操作創(chuàng)建。

6. Tools

7. Sample Code

  • Fundamental Lessons

    • 通過以下介紹性課程和指導(dǎo)實例,了解如何開發(fā)Metal應(yīng)用程序杈女。
  • Advanced Techniques

    • 通過使用Metal功能有效地了解如何實現(xiàn)高級技術(shù)朱浴。

8. Classes

9. Related Documentation

后記

未完吊圾,待續(xù)~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翰蠢,隨后出現(xiàn)的幾起案子项乒,更是在濱河造成了極大的恐慌,老刑警劉巖梁沧,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件板丽,死亡現(xiàn)場離奇詭異,居然都是意外死亡趁尼,警方通過查閱死者的電腦和手機(jī)埃碱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酥泞,“玉大人砚殿,你說我怎么就攤上這事≈ザ冢” “怎么了似炎?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長悯姊。 經(jīng)常有香客問我羡藐,道長,這世上最難降的妖魔是什么悯许? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任仆嗦,我火速辦了婚禮,結(jié)果婚禮上先壕,老公的妹妹穿的比我還像新娘瘩扼。我一直安慰自己,他們只是感情好垃僚,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布集绰。 她就那樣靜靜地躺著,像睡著了一般谆棺。 火紅的嫁衣襯著肌膚如雪栽燕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天改淑,我揣著相機(jī)與錄音碍岔,去河邊找鬼。 笑死溅固,一個胖子當(dāng)著我的面吹牛付秕,可吹牛的內(nèi)容都是我干的兰珍。 我是一名探鬼主播侍郭,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了亮元?” 一聲冷哼從身側(cè)響起猛计,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爆捞,沒想到半個月后奉瘤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡煮甥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年盗温,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片成肘。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡卖局,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出双霍,到底是詐尸還是另有隱情砚偶,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布洒闸,位于F島的核電站染坯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏丘逸。R本人自食惡果不足惜单鹿,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望深纲。 院中可真熱鬧羞反,春花似錦、人聲如沸囤萤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涛舍。三九已至澄惊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間富雅,已是汗流浹背掸驱。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留没佑,地道東北人毕贼。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像蛤奢,于是被迫代替她去往敵國和親鬼癣。 傳聞我的和親對象是個殘疾皇子陶贼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容