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