グラフィックに Vulkan を使用する

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 セクションがあります。ここでは、以下のトピックについて説明しています。

ゲームエンジン

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

Vulkan のロードマップでの Android ANGLE

ANGLE の問題を報告

ANGLE で問題が発生した場合は、Issue Tracker でご報告ください。