Android 基準設定檔

Google 宣布推出適用於 Vulkan 的全新 Android Baseline 2022 設定檔。

當我們發布初始 Android Baseline 設定檔 (2021 版) 時,我們的動機很簡單但很重要。開發人員在確定各種各樣的 Android 裝置可能依賴的功能時,總是面臨著方方面面的挑戰,我們希望為他們消除這些挑戰。

Android Baseline 2021 設定檔搭配 Vulkan 設定檔,解決了這個難題。Vulkan 設定檔搭載一系列 2021 年絕大多數啟用的 Android 裝置中都能找到的 Vulkan 擴充功能、功能、格式和限制。這個設定檔是依據可取得的資料和與 Khronos 合作夥伴的討論而建立,目的在於最大程度提升與現有和未來裝置的相容性,同時也代表超越這些限制條件的最先進 Vulkan 功能集。

我們首次推出 Android Baseline 2021 設定檔時,承諾會在 2022 年更新這個設定檔,因為我們知道 Vulkan 的採用速度很快會達到轉折點。如今,在與 Khronos 合作夥伴進行一年多的資料分析及協調後,我們很高興地宣布,我們已順利建立適用於 Vulkan 的 Android Baseline 2022 設定檔。

與初始的 2021 版設定檔一樣,Android Baseline 2022 設定檔包含 Vulkan 擴充功能、功能、格式和限制,適用於絕大多數 Android 裝置。不過,生態系統經過一年的發展,我們能夠推出更廣泛的功能。我們認為許多開發人員都能從中獲益,並享有這個新設定檔提供的額外功能。

建議您詳閱 GitHub 上的 Android Baseline 2022 設定檔完整內容。

Android Baseline 2022 設定檔包含與 2021 版初始設定檔相同的全部支援功能,其中包含以下實用且重要的功能:

  • 透過 ASTC 和 ETC 壓縮紋理
  • 透過 VK_EXT_swapchain_colorspace 設定可變色域
  • 透過 sampleRateShading 使用陰影取樣和插值多重取樣功能

擴充這項功能時,Android Baseline 2022 設定檔也新增了一系列非常寶貴的改善功能,例如:

  • 對 Vulkan 1.1 的完整支援
  • 透過 shaderInt16 在著色器中提供 16 位元整數
  • 透過 VK_ANDROID_external_memory_android_hardware_buffer 實現 Vulkan 與 Android Hardware Buffer 間的互通性
  • 使用 VK_KHR_driver_properties 可查詢 Vulkan 驅動程式屬性
  • 使用 VK_KHR_create_renderpass2 可進一步控管轉譯通道建立作業

除了發布 2022 版設定檔外,我們還決定修訂之前的 2021 版設定檔。2021 版設定檔發布時,包含對擴充圖片收集指令集和擴充圖片收集功能集的支援:

  • "shaderImageGatherExtended": true,
  • "minTexelGatherOffset": -8
  • "maxTexelGatherOffset": 7
在更深入地資料分析和調查之後,我們發現這項收集功能存在錯誤。在支援方面,擴充圖片收集功能的採用率遠低於 Android Baseline 設定檔的需求,因此我們選擇修改 2021 版設定檔,移除這些要求。這項變更會在修訂後的 GitHub 中,以 "revision": 2 的形式顯示在 "history" 下。此外,從 2022 版設定檔中移除了擴充圖片收集功能。

修訂後的 Android Baseline 2021 設定檔仍會顯示在 GitHub 上。

大多數的 Android 裝置都已完全支援 2021 版設定檔和 2022 版設定檔,不必進行無線更新。

我們將繼續在 Android 發布資訊主頁 (https://developer.android.com/about/dashboards) 中,公告這兩種設定檔的 Android 支援百分比。

我們已成功完成承諾的 2021 版設定檔更新,Android Baseline 設定檔目前尚無日後更新項目。我們會根據開發人員、合作夥伴和使用者的需求,視需要更新更廣泛、更進階的 Vulkan 功能集。