Vulkan でレンダリングのオーバーヘッドを削減
2015年9月4日金曜日
[この記事は Shannon Woods、テクニカルプログラムマネージャーによる Android Developers Blog の記事 "Low-overhead rendering with Vulkan" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
オーバーヘッド削減と、開発者の制御強化
CPU オーバーヘッドのいくつかの原因に対処して、開発者がレンダリングをより直接的に制御できるようにするために、新しい 3D レンダリング API である Vulkan™ を Android に導入するための作業が行われてきました。OpenGL™ ES と同様に、Vulkan は Khronos によって管理されている 3D グラフィックおよびレンダリングのオープン スタンダードです。Vulkan は、ドライバーの CPU オーバーヘッドを最小化するため、およびアプリケーションが GPU の動作をより直接的に制御できるように、設計されています。また、Vulkan は、複数のスレッドが作業を実行できるようにする(コマンド バッファーの作成を同時に行うなど)ことによって、より優れた並列処理が可能です。API は想定内で作動してこそ本領を発揮する
さまざまなデバイスで動作するアプリケーションを一度に記述できるように、Android 5.0 Lollipop では OpenGL ES のための 5 万を超える新しいテストを含む Android の Compatibility Test Suite(CTS)を大幅に拡張、その後も多数追加されています。これはドライバーの問題を特定して修正するための広範なオープン ソースのテスト スイートを提供しており、開発者とエンド ユーザーにとってより堅牢で信頼できる操作性を生み出します。Vulkan に関しては、Android CTS で使用するための同様のテストを開発するだけでなく、開発したテストを Khronos に提供し、Vulkan 自体のオープン ソース適合テスト スイートで使用できるようにしています。これにより、Khronos は Vulkan のドライバーを複数のプラットフォームおよびハードウェアでテストでき、3D グラフィックのエコシステム全体の改善が可能です。すべては開発者の選択
Vulkan を作成、テスト、および出荷するために鋭意作業中ですが、それと同時に OpenGL ES にも貢献してサポートする予定です。これにより開発者は、簡潔な OpenGL ES か、直接的な制御の Vulkan か、用途に応じて適切な API を選択できるようになります。どちらの API を選択した場合でも、開発者が快適に使用できることをお約束します。Vulkan はまだ開発中ですが、仕様、テスト、およびツールは、準備ができ次第http://www.khronos.org/vulkan にリリースされる予定です。
Posted by Yoshifumi Yamaguchi - Developer Relations Team