Unity-Metal
Metal 是 Apple 設(shè)備的標準圖形 API。Unity 支持 iOS、tvOS 和 macOS 上的 Metal(Standalone 和 Editor)。
Metal 在 Apple 平臺上具有比 OpenGL ES 更豐富的功能集。請參閱下面關(guān)于使用 Metal 的優(yōu)缺點。
使用 Metal 的優(yōu)點
降低圖形 API 調(diào)用的 CPU 開銷
API 級別驗證層
在多 GPU 系統(tǒng)上實現(xiàn)更好的 GPU 控制
支持無內(nèi)存渲染目標(在 iOS/tvOS 上)
Apple 的新 Apple 標準
計算著色器
曲面細分著色器
使用 Metal 的缺點
不支持低端設(shè)備
不支持幾何著色器
限制和要求
iOS 和 tvOS 為?Apple A7?或更新的 SoC 提供 Metal 支持。
macOS 為 HD 4000 系列或更高的 Intel HD 和 Iris Graphics、AMD GCN 架構(gòu) GPU 以及 Nvidia Kepler 架構(gòu) GPU 或更新版本提供 Metal 支持。
最低著色器編譯目標為 3.5。
Metal 不支持幾何著色器。
啟用 Metal
要使 Unity Editor 和獨立平臺播放器將 Metal 用作默認圖形 API,請執(zhí)行以下操作之一:
在 Editor 中,選擇菜單:__Edit__ >?Project Settings__,然后選擇?Player__ 類別,并啟用?Metal Editor Support。
如果使用 MacOS,打開?Terminal?并使用?
-force-metal
?命令行參數(shù)。
默認情況下,iOS、tvOS 和 macOS 獨立平臺播放器上均啟用 Metal。
驗證 Metal API
Xcode 提供 Metal API 驗證功能,可用于跟蹤隱蔽的問題。要在 Xcode 中啟用 Metal API 驗證,請執(zhí)行以下操作:
1.在 Unity 中,針對 iOS 構(gòu)建項目。結(jié)果將生成 Xcode 項目。
2.在 Xcode 中打開生成的 Xcode 項目,然后選擇?Edit Scheme。

3.選擇?Run?>?Options?>?Metal API Validation__,然后選擇?Enabled__
驗證錯誤會中斷 XCode 編輯器中的代碼執(zhí)行,并顯示在設(shè)備日志中。
__注意__:啟用驗證會增加 CPU 使用率,因此僅在進行調(diào)試時啟用。
選擇 GPU 設(shè)備
Metal 允許您在運行應(yīng)用程序時選擇 GPU 設(shè)備。因此,可使用不同的 GPU 設(shè)置來測試項目,或使用低功耗 GPU 省電。
要更改 Unity Editor 目標 GPU 設(shè)備,請選擇菜單:__Unity__ >?Preferences…?>?General?并設(shè)置 __Device To Use__:

要更改獨立平臺播放器目標 GPU 設(shè)備,請啟動應(yīng)用程序(或選擇菜單:__File__ >?Build and run__)并將?Graphics device to use__ 設(shè)置為隨后顯示的對話框中的相關(guān) GPU:

使用無內(nèi)存渲染目標
Metal 允許您使用 iOS 和 tvOS 10.0 中引入的無內(nèi)存渲染目標來優(yōu)化移動設(shè)備上的內(nèi)存。借助此功能,您在渲染場景到渲染紋理 (RenderTexture)時,無需將其備份到系統(tǒng)內(nèi)存,內(nèi)容僅在渲染期間臨時存儲在 on-tile 內(nèi)存中。
有關(guān)更多信息,請參閱RenderTexture.memorylessMode。