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 ベースライン プロファイル
ゲームエンジン
ANGLE について
Vulkan は GPU の優先 Android インターフェースです。Android 15 には、Vulkan 上で OpenGL ES を実行するためのオプション レイヤとして AGLE が含まれています。AGLE に移行すると Android OpenGL の実装が標準化され、互換性が改善され、場合によってはパフォーマンスも改善されます。
開発者向けオプションで ANGLE を有効にすると、さまざまな Android 15 デバイスで ANGLE を使用して OpenGL ES アプリの安定性とパフォーマンスをテストできます。Android 15 で [開発者向けオプション] > [試験運用版: ANGLE を有効にする] に移動します。
Vulkan のロードマップでの Android ANGLE
ANGLE の問題を報告
ANGLE で問題が発生した場合は、Issue Tracker でご報告ください。