Vulkan は、デバイスのグラフィック ハードウェアとゲームの間の抽象化を最小限に抑えるために設計された最新のクロス プラットフォーム 3D グラフィック API です。Vulkan は Android の主要な低レベル グラフィック API であり、OpenGL ES に代わるものです。OpenGL ES は Android で引き続きサポートされますが、機能の開発は行われなくなります。Vulkan には OpenGL ES に比べて次のような利点があります。
- グラフィック ドライバでの CPU オーバーヘッドが低減された、より効率的なアーキテクチャ
- CPU パフォーマンスを向上させる新しい最適化戦略
- OpenGL ES では利用できない新しいグラフィック機能(バインドレス API やレイ トレーシングなど)
Vulkan は Android 7(API レベル 24)以降の Android で利用できます。Android 10(API レベル 29)以降の 64 ビット Android デバイスはすべて Vulkan 1.1 をサポートしています。アクティブな Android デバイスの 85% が Vulkan をサポートしています。Android ベースライン プロファイルでは、Vulkan 対応デバイス向けの最小限の機能セットが定義されています。
Vulkan を使用すると、外観とパフォーマンスがより優れたゲームを作成できます。Vulkan は最新のグラフィック ハードウェアの可能性を最大限に引き出します。Vulkan は、対応デバイスの Android UI レンダリング フレームワークによって使用されます。Unity および Unreal ゲームエンジンの現在のバージョンでは、対応する Android デバイスでのデフォルトのレンダラとして Vulkan が選択されています。ANGLE プロジェクトでは、Vulkan 上で OpenGL ES API の適切な実装を提案しています。
始める
C/C++
Android の C/C++ ゲームエンジンで Vulkan を使用する方法については、Android で Vulkan を使ってみるをご覧ください。
さらに、Native Development Kit(NDK)のドキュメントに、ゲーム以外のデベロッパー向けの一般的な Vulkan セクションがあり、以下のトピックについて説明しています。
- パフォーマンス向上のためのシェーダー コンパイラ
- Vulkan のコード デバッグ用の検証レイヤ
- カスタム機能用の Vulkan 拡張機能
- デバイスの要件に関する Android ベースライン プロファイル