Metal為圖形和數(shù)據(jù)并行計算工作負(fù)載提供單一的統(tǒng)一編程接口和語言。Metal使您能夠更高效地集成圖形和計算任務(wù)称簿,而無需使用單獨的API和著色器語言扣癣。
Metal框架提供以下內(nèi)容:
低開銷接口:Metal旨在消除“隱藏”的性能瓶頸,如隱式狀態(tài)驗證憨降。您可以控制GPU的異步行為父虑,用于高效的多線程,用于并行創(chuàng)建和提交命令緩沖區(qū)授药。有關(guān)Metal命令提交的詳細(xì)信息士嚎,請參閱命令組織和執(zhí)行模型垂涯。
內(nèi)存和資源管理。Metal框架描述了表示GPU內(nèi)存分配的緩沖區(qū)和紋理對象航邢。紋理對象具有特定的像素格式耕赘,可用于紋理圖像或附件。有關(guān)Metal內(nèi)存對象的詳細(xì)信息膳殷,請參閱資源對象:緩沖區(qū)和紋理操骡。
-
集成支持圖形和計算操作。Metal對于圖形和計算操作都使用相同的數(shù)據(jù)結(jié)構(gòu)和資源(如緩沖區(qū)赚窃,紋理和命令隊列)册招。此外,Metal著色語言支持圖形和計算功能勒极。Metal框架使資源在運行時界面是掰,圖形著色器和計算功能之間共享。
有關(guān)使用Metal進行圖形渲染或數(shù)據(jù)并行計算操作的應(yīng)用程序的詳細(xì)信息辱匿,請參閱圖形渲染:渲染命令編碼器或數(shù)據(jù)并行計算處理:計算命令編碼器键痛。
-
預(yù)編譯著色器 Metal著色器可以在構(gòu)建時與您的應(yīng)用程序代碼一起編譯,然后在運行時加載匾七。該工作流程提供了更好的代碼生成以及著色器代碼的調(diào)試絮短。(Metal還支持著色器代碼的運行時編譯)
有關(guān)從Metal框架代碼處理Metal著色器的詳細(xì)信息,請參閱函數(shù)和庫昨忆。有關(guān)Metal著色語言本身的詳細(xì)信息丁频,請參閱Metal著色語言指南。
Metal應(yīng)用程序不能在后臺執(zhí)行Metal命令邑贴,并且終止嘗試此操作的Metal應(yīng)用程序席里。