読み方 : バルカン
Vulkan
概要

従来の同種のAPIである「OpenGL」や「DirectX」では、開発者がGPUの細かい動作を意識しなくても良いように、ドライバ側が多くの処理を自動管理する設計になっていた。しかし、その分ドライバの処理が複雑化してオーバーヘッドが生じやすく、CPUの負荷が高くなる場合があった。
Vulkanは、GPUに対する制御の多くをアプリケーション側に委ねる「低レベルAPI」として設計されている。メモリ管理、コマンドバッファの構築、レンダリングパスの設定など、従来はドライバが暗黙的に処理していた部分を開発者が明示的に記述する必要がある。これにより、ドライバのオーバーヘッドを大幅に削減し、マルチスレッドを活用した効率的なGPUコマンドの発行が可能となる。
一方、低レベルの制御を自前で実装しなければならないアプリケーション開発の難易度は高い。OpenGLなどと比較してコード量が大幅に増える傾向があり、開発者に高度な知識やスキルも要求される。対策として、Unreal EngineやUnityなどの商用ゲームエンジンでは、Vulkanのバックエンドをサポートすることで、開発者が直接APIを操作しなくても恩恵を受けられる環境を整備している。
Vulkanは「OpenGL」の標準化で知られる業界団体のクロノスグループ(Khronos Group)が仕様を策定しており、初版は2016年に発表された。米NVIDIA社や米AMD社、米インテル(Intel)社、米クアルコム(Qualcomm)社など主要なGPUメーカー(CPU内蔵グラフィックスを含む)がサポートしている。対応OSはWindows、macOS、Linux、Androidなどで、クロスプラットフォーム開発でも利用される。