Minecraftが長年の「OpenGL」から「Vulkan」に乗り換え ~ Vibrant VisualsのJava Edition展開に伴い

3行まとめ

Minecraftの開発元であるMojangは「Minecraft Java Edition」に採用されるグラフィックスAPIをVulkanに変更することを発表しました。

経緯

統合版Minecraft(BE)では、「Vibrant Visuals」という光の表現を追加するアップデートが追加されています。これは、光の反射や影の概念をMinecraftにもたらすものです。

Java EditionにこのVibrant VisualsをもたらすにあたってOpenGLからVulkanへの更新を決断したようです。

そもそも、OpenGLは今後使用できなくなる可能性があるAPIとなっています。

OpenGLは徐々に衰退の流れになっており、9年前に更新自体は停止、macOS系のOSではすでに非推奨状態になっています。また、OpenGLよりもVulkanやMetalのような低レイヤーAPIが使用できるグラフィックスAPIが主流になりつつあります。

Vulkan

Vulkanは実質的にOpenGLの後継ですが、一切の互換性はありません。

OpenGLは負荷分散がドライバ依存であったのに対して、VulkanはAPI経由でアプリケーション側が制御する事ができます。更に並列処理についてもOpenGLよりも得意としています。

OSとしてのサポートとしては、WindowsやLinux、Androidではネイティブサポートがあります。macOS系OSでは互換レイヤーによるサポートとなっていますが、性能への影響は軽微であると説明されています。

影響

Vulkan移行に伴う影響は比較的大きい物となっています。

グラフィックスAPIの変更に伴い、レンダリングの性能(主にFPS)が向上すると言われています。一方で負の側面もあります。

まず、最近のGPUではネイティブでVulkanのサポートが提供されていますが、10年以上前のGPUではサポートされていないケースがあります。

確認したところ、AMDは第2世代GCN(Radeon RX200シリーズ、Radeon HD 7790/8770)以降、NVIDIAはKelper(GeForce GT600 / Tesla K / Quadro K)以降、IntelはSkylake以降、QualcommはAdreno 500以降でサポートを提供していますが、それ以前のGPUではVulkanをネイティブでサポートしていません。

この影響で古いGPUではMinecraftが動作しなくなる可能性が指摘されており、また最低要件を変更することも明かされています。

また、OpenGLに依存するシェーダーや軽量化系などのModではVulkanへの移行にともない動作しなくなる可能性があります。

MojangはグラフィックスAPIに依存しないAPIを提供するなどの移行支援を行っています。

BEへの影響

BEはすでにDirectXまたはVulkanに移行済みであり、この変更の影響はありません。

移行スケジュール

同社は移行については時間がかかることを認識しており、安定性と性能が成熟するまでは、OpenGLとVulkanを併存するとのことで、将来的にはOpenGLは削除されます。

夏の間にVulkanを採用したスナップショットを公開し、フィードバックの収集を開始するとのこと。具体的なスケジュールに関しては明かされていません。

関連リンク