推奨されます, 2024

エディターズチョイス

Vulkan API:あなたが知る必要があるすべて

あなたが最新の技術についてのタブを保つのが好きなら、あなたはVulkanのことを聞いたことがあるはずです。 Vulkan APIは、最新の業界標準OpenGLの背後にいる人々であるKhronos Groupによって発表された最新かつ最高のグラフィックスAPIです。 プロジェクト名Vulkanは2015年のGame Developers 'Conferenceで正式に発表され、2016年2月に最初のバージョンのAPIが発表されました。新しいAPIはゲームグラフィックスを次のレベルに引き上げることを目的としています。詳細、私たちはあなたにそれを与えるためにここにいます。

Vulkan APIとは何か、それがその前のOpenGLとどう違うのか、そしてVulkan APIがゲームや他のグラフィックを多用するアプリケーションの開発方法を近い将来にどのように変えるかを議論します。 レンダリングとグラフィックの世界におけるこのエキサイティングな開発について探求するために読んでください。

Vulkan APIとは何ですか

数年前、AMDは3DゲームをターゲットにしたMantleを放棄したAPIを披露し、グラフィックをレンダリングするためのより賢明なソリューションであるという見込みを示しながら、AMDはプロジェクトを中止しました。 それから、AMDはレンダリングのための標準的なAPIを開発するためにマントルAPIコンポーネントをクロノスグループに渡しました。 まあ、結果は新しいVulcan APIです。

Vulkan APIは、最近遍在するマルチコアCPUをより有効に活用できる低オーバーヘッドレンダリングAPIです。また、プログラムはCPUとシステムのGPUに直接アクセスできるようになります。 OSにも依存しません。 これは、Vulkan APIを使用するアプリケーションは簡単に移植できることを意味します。

熱心なゲーマーやゲーム愛好家である私たちは、すぐにゲームがどのように開発されるのか、そして(もしあれば)それが私たちのゲーム体験をどのように向上させるのか、の将来を調査することにしました。

特徴

Vulkan APIには、以前のOpenGLとは異なる優れた機能を数多く備えています。

1. Vulkan APIは、マルチコア環境ですべてのコア間で均等に処理負荷を分散しようとします。 つまり、プロセッサ内のすべてのコアが使用されるため、 効率が最大になります

  • これは、描画呼び出しを多く必要とするグラフィックのレンダリングに非常に大きな違いをもたらします。
  • 従来のAPIでは、多くの場合、CPUがボトルネックになります。 しかし、VulkanはマルチコアCPUをこのようにうまく利用しているため、代わりにGPUでボトルネックが見つかる可能性があります。

2. Vulcan APIはGPUへの直接アクセスを提供します 。これにより、ドローコールやその他のGPU機能のためにGPUにアクセスする際の不要なオーバーヘッドを回避できます。

  • これはつまり、より重いゲームは現在のCPUほど集中的には使用できないということです。 また、ドライバーはGPUへのアクセスを提供する上で小さな役割を果たすため、情報の転送がはるかに速くなります。

3. APIも完全にクロスプラットフォームになるように設計されています

  • モバイル、デスクトップ、およびコンソール用のこれ以上の分岐APIはありません。 Vulkan APIは、互換性のあるGPUを備えたあらゆるデバイスで同じです。

4. OpenGLはGPUのメモリ使用量と同期を隠していましたが、Vulkanはこれを公開し、開発者にGPUとその使用方法さらによく制御するようにします。

  • Vulkanを使用すると、開発者はGPUによるテクスチャのフォーマット、メモリの管理、および同期の実行方法を制御できます。
  • しかし、それでもプラットフォーム間の互換性を維持するのに十分な情報は隠されています

5. VulkanはSPIR-V中間言語を並列コンピューティングとグラフィックに使用します。 SPIR-Vは、その前身であるSPIR1.2およびSPIR2.0と同様に、Khronos Groupによって開発されましたが、SPIR-VはLLVMを使用しません。 SPIR-Vにより、Vulkanはすべてのプラットフォームで共通のフロントエンドコンパイラを使用できます。 開発者はカーネル、シェーダコードを出荷する必要もなく、ドライバの実装も単純化されています。

Vulkanがエンドユーザーとしてどのように役立つのか

Vulkan APIを開発者が最大限に活用できるように実装すると、エンドユーザー(それはあなたと私です!)のゲームエクスペリエンスを劇的に向上させることができます。 モバイル機器のコンソールレベルのグラフィック 、さらには有能なプロセッサを搭載したハイエンドの旗艦用のデスクトップグレードのグラフィックも考えてください。

1.最近のほとんどのモバイルSoCもマルチコアであるため、Vulkanは可能な限りプロセッサを最大限に活用し、ゲームをよりスムーズにします(より高いFPS)。

2.また、VulkanはデバイスのGPUへのオーバーヘッドの少ないアクセスを提供するため、ゲームはGPUリソ​​ースへのアクセスにかかる時間を大幅に短縮できるようになります。 繰り返しになりますが、これはGPUの機能を最大限に利用することによって、より高い毎秒フレームでより良いグラフィックに変換されます

3.クロスプラットフォーム機能によってゲームの移植性が向上しても、エンドユーザーとして直接影響を受けることはありませんが、お気に入りのゲームやグラフィックを多用するアプリケーションは、ほぼすべてのプラットフォームで利用できる可能性があります。 可能性は無限であり、私たちの想像力によってのみ制限されます。

4.ゲームはまた、GPUがユーザーにすぐに目に見えるものにもっと注意を払うこと(読み取り:より多くのメモリーを割り当てて優先すること)を確実にすることによってスムーズなパフォーマンスを確実にすることができます。 。

開発者向けのオプション

低レベルで低オーバーヘッドのグラフィック用APIは間違いなく良い考えですが、すべての開発者、特に新しい開発者にとって明らかな魅力ではありません。 ハードウェアレベルに近い、より低いレベルでのプログラミングは、より抽象化されたより高いレベルでのプログラミングよりもはるかに優れた能力を必要とします。 これは決して衝撃的ではありません。 それは非常に明白で、まさに開発者が開発プロジェクトにVulkanを使用する方法について3つの異なる選択肢を持つことになる理由です。

1. Vulkan APIを直接使う

  • これはハードウェアへの最低レベルのアクセスを提供するでしょう、そして明らかに皆のための選択ではないだろう。 ただし、このレベルは、Vulkanを使用して開発された他のアプリケーション用のベンチマークツールを作成するために使用できます。

2.ライブラリを使う

  • おそらくOpenGLからVulkanに移行している開発者にとって最も現実的な選択肢です。
  • ほとんどのライブラリはオープンソースなので、OpenGLを使った開発の経験を持つ開発者は、完全なオーバーホールや最初からやり直す必要はなく、比較的簡単にOpenGLアプリケーションをVulkan APIに移植して試すことができます。

3. Vulkanで最適化されたゲームエンジンを使用する

  • ゲームエンジンは、定評のある経験豊富な業界の大手企業によって設計および開発されており、開発者(経験豊富でも初心者でも)の利点を活かしたゲームを簡単に作成することができます。 Vulkan APIによって提供されます。
  • Epic Games(Unreal Engine)やUnity(Unity Engine)などの開発者は、今後のエンジンでVulkanをサポートすることをすでに発表しており、さらに多くの人々が従う計画を発表しています。

関連項目: APFSを理解する:Appleの新しいファイルシステム

興奮します!

その記事があなたを納得させないのであれば…興奮してください! 今すぐ! Vulkanは、ゲームの生活を向上させるグラフィックAPIの革新的な開発の一種となることを約束します。 VulkanとOpenGLのパフォーマンスを比較したビデオはすでに存在していますが、結果は - 非常に簡単に - 驚くべきものです。 これらのビデオが何かの兆候であるならば、あなたの携帯電話を含む至る所で驚くべきグラフィック品質を経験する準備をしなさい、すべてVulcan APIの到着のおかげで!

それで、あなたはVulkanについてどう思いますか? あなたはそれが現在のOpenGL標準を超える大きな改善になると思いますか? 下記のコメント欄でお知らせください。

Top