Vulkan 是一個低開銷、跨平臺的二維、三維圖形與計算的應用程式介面（API），最早由科納斯組織在 2015 年遊戲開發者大會（GDC）上發表。與 OpenGL 類似，Vulkan 針對全平臺即時 3D 圖形程式（如電子遊戲和互動媒體）而設計，並提供高效能與更均衡的 CPU 與 GPU 佔用，這也是 Direct3D 12 和 AMD 的 Mantle 的目標。與 Direct3D（12 版之前）和 OpenGL 的其他主要區別是，Vulkan 是一個底層 API，而且能執行並行任務。除此之外，Vulkan 還能更好地分配多個 CPU 核心的使用。 科納斯最先把 Vulkan API 稱為「次世代 OpenGL 行動」（next generation OpenGL initiative）或「glNext」，但在正式宣佈 Vulkan 之後這些名字就沒有再使用了。Vulkan 基於 Mantle 構建，AMD 將其 Mantle API 捐贈給科納斯組織，給予該組織開發底層 API 的基礎，使其像 OpenGL 一樣成為行業標準。 特性 Vulkan 旨在提供更低的 CPU 開銷與更直接的 GPU 控制，其理念大致與 Direct3D 12 和 Mantle 類似。 以下是 Vulkan 相對於上一代 API 的優勢： Vulkan API 適用於從高效能電腦到移動低功耗裝置的顯示卡（OpenGL 具有名為 OpenGL ES 的移動裝置 API 子集，它仍是支援 Vulkan 裝置的備選 API）。 相比於 Direct3D 12，Vulkan 與前身 OpenGL 類似，受多種作業系統支援。Vulkan 已經能在 Windows 7、Windows 8、Windows 10、Tizen、Linux 與 Android 上執行（iOS 和 macOS 有第三方支援）。 透過批次處理（Batching）減少 CPU 負載，使 CPU 可以執行更多其他的計算或渲染任務。 在多核心 CPU 上，Vulkan 能對核心與執行緒進行最佳化。Direct3D 11 與 OpenGL 4 最初為單核心 CPU 設計，儘管後來出現了針對多核心 CPU 最佳化的擴充套件，不過與 Vulkan 相比，最佳化仍不是很好。 減少了驅動程式的開銷與維護工作。OpenGL 使用高階著色語言 GLSL 編寫著色器，不同的驅動在程式執行時需要執行自身的 GLSL 編譯器，將程式的著色器轉換為 GPU 可執行的機器程式碼。而 Vulkan 驅動將著色器語言預先轉化為（Standard Portable Intermediate Representation）的中間二進位制格式，其行為類似於 Direct3D 的 HLSL 著色器。透過著色器預編譯，應用程式載入速度更快，並且 3D 場景可以使用更多種著色器。Vulkan 驅動只需對 GPU 進行最佳化並生成程式碼，這使得驅動程式更容易維護，驅動程式包更小（目前 GPU 供應商仍需在驅動程式中提供 OpenGL 與 OpenCL 的支援）。 計算與圖形處理的統一管理，因此 Vulkan 無需與單獨的計算 API 配合使用。 英偉達在 2016 年時指出，由於 OpenGL 的複雜度和維護難度比 Vulkan 低很多，在多數情況下也能提供理想的整體效能，現階段 OpenGL 仍是個很好的選擇。 AMD 表示，Vulkan 支援 CloseToMetal 控制的獨特能力可加快跨 Windows 和 Linux 的效能並且提高影像品質。現今無其他圖形 API 提供如此強大的作業系統相容性、成像功能和硬體效率組合 。 例如，CPU 中包含的整合 GPU 可與高階專用 GPU 結合使用，以略微提高效能。 Vulkan 11 科納斯在 SIGGRAPH2016 上宣佈 Vulkan 將支援自動多 GPU 功能，類似於 Direct3D 12 所提供的功能，顯示驅動程式不再需要處理多個 GPU 的使用，相反，兩個或更多完全不同的 GPU 之間可以智慧地分配工作負載。 科納斯於 2018 年 3 月 7 日發布了 Vulkan 11 。它擴充套件了幾個核心功能，包括子集操作，例如多檢視、裝置組、高階渲染和編輯操作程式跨流程 API 互動操作。這些核心功能還包括 16 位記憶體獲取高階計算，HLSL 記憶體分佈支援，影片流的顯示，處理和程式設計，透過許多影片編輯解碼器生成的 YCbcRr 顏色格式化紋理的直接抽樣。同時，它還帶來了與 DirectX 12 的更好相容性，顯式支援多 GPU，光線跟蹤支援，為下一代 GPU 奠定了基礎。 vulkan 12 2020 年 1 月 15 日，科納斯組織發布了 Vulkan 12，將 23 個已經透過驗證的擴充套件整合到基本 Vulkan 標準中，大部份用來幫助提升 Vulkan 與其他圖形 API 之間的相容層效能。 Vulkan 13 2022 年 1 月 25 日，科納斯組織釋出了 Vulkan 13。 這次更新將另外 23 個常用的成熟的 Vulkan 擴充套件整合到基本的 Vulkan 標準中。 計劃中的功能 科納斯在 SIGGRAPH 2016 上宣佈，Vulkan 將提供類似於 Direct3D 12 的多卡互聯功能。透過 Vulkan，不同型號的顯示卡也能協同工作，而無需 NVIDIA SLI 或 AMD Crossfire 的支援。Vulkan 多卡互聯功能允許 API 在多個不同的顯示卡之間智慧分配負載，例如，CPU 上的整合顯示卡與高階獨立顯示卡協同工作，能夠略微提升顯示效能。 在 2017 年 5 月發行 OpenCL 22 之時，Khronos Group 宣佈 OpenCL 將盡可能的匯合於 Vulkan，以確使 OpenCL 軟體在這兩種 API 上靈活部署。這已經由 Adobe 的 Premiere Rush 展示出來，它使用 clspv 開源編譯器，編譯了大量 OpenCL C 核心程式碼，從而在部署於 Android 的 Vulkan 執行時系統上執行。 歷史 2014 年 6 月，科納斯組織開始了 次世代 OpenGL 圖形 API 的計劃，並在 Valve 公司舉行專案啟動會議。在 SIGGRAPH 2014 上，專案公之於世。2015 年 2 月 19 日，Vulkan 的商標在美國專利及商標局提交。 2015 年早些時候，（由 Valve 資助）開發並展示了一款支援 Vulkan API 的 Intel HD Graphics 4000 系列 Linux 驅動程式，不過當時的 Mesa 開源驅動並不完全相容 OpenGL 40。 2016 年 2 月 16 日，科納斯組織釋出了 Vulkan 10 版規範與開源軟體開發工具包（SDK）。 支援 Vulkan 的軟體 電子遊戲 《塔洛斯法則》 首個支援 Vulkan 渲染的遊戲 《Dota 2》2016 年 5 月開始支援 《毀滅戰士》2016 年 7 月開始支援 《虹彩六號：圍攻行動》PC 公開測試中 vkQuake《雷神之錘》的 Vulkan 移植版，於 2016 年 7 月釋出 World War Z《末日之戰》電影改編遊戲。由 Epic Games 出品。 Red Dead Redemption 2《碧血狂殺 2》。由 Rockstar Games 出品。 XPlane（飛行模擬軟體） 由 Laminar Research 推出。從 XPlane 11 開始支援，XPlane 12 作為預設渲染方式 遊戲引擎 Source 22015 年 3 月由 Valve 公司釋出 Serious Engine 42016 年 2 月，Croteam 宣佈支援 Vulkan API 虛幻引擎 42016 年 2 月 Epic Games 在三星 Galaxy S7 Unpack 釋出會上宣告提供 Vulkan 支援 2016 年 4 月，開發者社群宣稱將提供 Vulkan 支援 id Tech 3 引擎 在 2017 年 5 月增加了對 Vulkan 的非正式支援 id Tech 4 引擎 在 2017 年 8 月添加了非官方的 Vulkan 支援 id Tech 62016 年 5 月 id Software 宣佈運行於 id Tech 6 引擎的《毀滅戰士》將支援 Vulkan id Tech 7 僅在 PC 上使用 Vulkan Abyss Engine2017 年 5 月 Deep Silver 在 Android 上釋出了基於 vulkan 的浴火銀河 3 Banshee 3D 支援 Vulkan 的免費開放原始碼跨平臺遊戲引擎 CryEngineCrytek 計劃提供支援 Xenko2016 年 7 月加入支援 Intrinsic 在 GitHub 上託管的開源跨平臺遊戲引擎 Unity2016 年 12 月，表示其 Unity 遊戲引擎 56 版將支援 Vulkan API；2017 年 3 月，Unity 56 提供正式支援 Roblox 自 2017 年 3 月起，Roblox 支援 Vulkan 渲染 Rockstar 高階遊戲引擎 除 DirectX12 外，還完全支援 Vulkan Godot 在 2018 年 2 月下旬，開發人員宣佈將把重點改為使用 OpenGL ES 2 和 Vulkan 的組合。 Flax Engine 於 2019 年 4 月新增 Vulkan 支援 Apex Game Engine 來自雪崩工作室 狂怒煉獄 2 改用 Vulkan 進行渲染 Messiah Game Engine 網易與高通合作，針對 Vulkan 最佳化 開發工具 36，在 Windows 與 Linux 平臺上支援 Vulkan ，作為 GTK 390 的一個元件於 2017 年 3 月釋出 作業系統元件 Vulkan 視窗系統介面（Window System Interface，WSI）的作用類似於 OpenGL ES 的。EGL 能使 OpenGL ES 程式跟原生視窗系統相通，並控制、緩衝器繫結與渲染同步等。 相容性 初版 Vulkan 規範指出，Vulkan 能在支援 OpenGL ES 31 或 OpenGL 4x 及更高版本的顯示卡上執行。 p 19 Vulkan Status 但 Vulkan API 本身依賴於新版顯示卡驅動程式，而且並非所有符合 Vulkan 規範的顯示卡都能收到廠商提供的驅動程式更新。 2016 年 8 月 22 日，Google 釋出的 Android Nougat（Android 7x）提供對 Vulkan 的支援。 蘋果公司沒有對 iOS 和 macOS 提供官方 Vulkan 支援，而 Molten 公司開發的 MoltenVK 運行於蘋果 Metal API，提供 Vulkan 第三方支援。 參見 OpenGL，科納斯組織的另一個圖形 API OpenCL，科納斯組織的一個異構計算框架 Mantle，AMD 的底層圖形與計算 API，Vulkan 的前身 Direct3D，Windows 和 Xbox 專有的圖形 API Metal，iOS 和 macOS 的一個底層圖形與計算 API 參考資料 外部連結 Vulkan 10 規範 Vulkan 硬體支援資料庫 Category 應用程式介面 Category 跨平臺軟體 Category 繪圖函式庫 Category 電子遊戲研發 Category 虛擬現實 Category2015 年軟體 Category3D 圖形應用程式介面 Category 自由軟體