Android Q が 2D ゲーム開発を容易にするために ANGLE の Vulkan バックエンドをサポートすることがわかりました。 これが何を意味するかについて詳しくは、以下をお読みください。
Vulkan API Android Nougat で Android のサポートが発表されました Google I/O 2016 に戻って. もう一度言っておきますが、この API は、開発者が低レベルのハードウェアをより詳細に制御できるようにするのに役立ちます。 この種のアクセスは、それぞれのユニットの処理能力とグラフィック能力をより適切に活用し、可能な限りスムーズに実行されるようにゲームを最適化するのに役立ちます。 ゲームの実行など、電力を大量に消費するあらゆる種類のタスクにおいて、正しいメモリ割り当てとスレッド管理が重要であることは当然のことです。 これは、Xbox One や PlayStation 4 などの人気のコンソールが長い間行ってきたことであり、開発者はデバイス内のハードウェアを低レベルで制御できます。
また興味深いのは、Vulkan がクロスプラットフォームのオープン スタンダードであり、さまざまなプラットフォームのグラフィックス アプリケーションを対象としているということです。 今年の初めに、 私たちは手がかりを見つけました Android Q は Vulkan API を介してユーザー インターフェイス要素をレンダリングする可能性があるということです。 これは、システムのスムーズさをさらに向上させるための措置となります。 さて、Android Q が 2D ゲーム開発を容易にするために ANGLE を確実にサポートするという情報を入手しました。
アングルとは何ですか?
ANGLE は「Almost Native Graphics Layer Engine」の略語です。 WebGL の台頭により、レンダラーをサポートする標準化されたソリューションが必要になりました。 OpenGL ドライバーは、かなり長い間、Windows プラットフォーム上であまり安定していませんでした。 そこで、ANGLE は、OpenGL コードを Windows でネイティブにサポートされる API である Direct3D に変換することで、すべてをまったく新しいレベルに引き上げました。 ANGLE の主な目標は、WebGL および OpenGL ES コンテンツをプラットフォーム上で利用可能なハードウェア サポート API に変換することで、OpenGL を移植可能にし、誰でもアクセスできるようにすることです。 同じ原理を使用して、ANGLE は OpenGL コードを Android 上の Vulkan コードに変換します。これは、前者がオペレーティング システムで正式にサポートされているハードウェア API であるためです。 あなたはおそらく、意識せずに ANGLE を毎日使用しているでしょう。 ANGLE は、デスクトップ用の Google Chrome および Mozilla Firefox Web ブラウザに組み込まれています。 これは、Windows 上のこれらのブラウザ内のグラフィック コンテンツをレンダリングするために使用されます。
OpenGL ES 対 Vulkan
Khronos Group は、ANGLE を Vulkan 上の OpenGL のメイン レンダラーにするために懸命に取り組んでいます。 多くの人は OpenGL を廃止して Vulkan を使用する必要性を感じていないかもしれませんが、改善の余地があることは間違いありません。 現時点では、OpenGL API は古いテクノロジーとみなされます。 発売は1992年なので今から26年前になります。 26 年という年月は、一部の人にとっては大した意味がないかもしれませんが、テクノロジーの開発に関しては天文学的な数字です。 2016 年、次のレベルのグラフィックス API である Vulkan が世界に紹介されました。 しかし、新しいほど自動的に優れているというわけではありませんよね? Vulkan が OpenGL/OpenGL ES よりも優れている理由を説明しましょう。
OpenGL ES を扱ったことがある人なら、それが次のようなものであることをご存知でしょう。 巨大な. API には 300 を超える拡張機能があり、決して使いやすいものではありません。 Vulkan はすべてをまったく新しいレベルに引き上げ、はるかに小さな API とグラフィックスの直接制御を提供します。 実装も簡単です。 Vulkan は OpenGL ES よりも低いレベルで動作しますが、それはより強力な制御を意味します。 Vulkan を使用すると、スレッドとメモリの管理がゲームの開発者に完全に委ねられるため、リソースを適切に使用できます。 また、Vulkan のモバイル バージョンとデスクトップ バージョンの間には非常に小さな違いがあるため、ゲームの移植がはるかに簡単になります。 簡単に言うと、Vulkan は、特定のデバイスに搭載されているグラフィックス カードの可能性を最大限に引き出すことができる低レベルのドライバーです。
なぜアングルなのか?
ANGLE の最初の利点は、オープン標準プラットフォームであることです。 プロジェクトに貢献する方法はたくさんあります。 デバイス上でドライバーをテストしたり、バグを報告したり、バグを修正したり、開発者が解決策を考え出すのを手助けしたり、提案を送ったり、開発にお金を寄付したりすることができます。 これらすべてが開発のスピードを加速します。 OpenGL ES と比較した次の大きな利点は、移植性とクロスプラットフォームのサポートです。 ANGLE の性質により、プラットフォーム開発者とゲーム開発者の両方にとって仕事が容易になります。 ANGLE の保守と実装は、以前の実装よりもはるかに簡単です。 OpenGL は非常に断片化されているため、開発者にとってバグを追跡してさまざまなデバイスで修正するのは面倒です。 必要なドライバーをすべて ANGLE に一元化することは、開発者がドライバーを簡単に実装できることを意味します。 ANGLE 開発者の Jamie Madill 氏は、Android プラットフォームでは ANGLE が Google Play ストア経由で定期的にアップデートを受け取ることを確認しました。 ドライバーが更新されるたびにユーザーがシステム全体を更新する必要がないため、組み込みのファーストパーティ マーケットプレイスを介してドライバーを更新することをお勧めします。 また、開発者は、ANGLE が何かを変更するたびにコードをいじる必要がなくなります。 ANGLE が Android ゲーム開発にどのようなメリットをもたらすかについてのビデオは次のとおりです。
ご覧のとおり、ANGLE には古い OpenGL ES に比べて多くの改良が加えられています。 Android Q の最初の開発者プレビュー リリースはそれほど先ではないため、ANGLE が実際にどのように機能するかを待って確認することができます。 によると このコミット, ユーザーは開発者向けオプションからすべてのアプリケーションを強制的に ANGLE で動作させることができます。 レンダラーのサポートは次のとおりです。 すでに統合されています OEM がテストできるように Android Pie ブランチに追加します。 以下の Web サイトと GitHub リポジトリから ANGLE の開発を追跡できます。
XDA シニアメンバーに感謝 XxPixX ヒントのために!
アングルのウェブサイトGitHub リポジトリ