12 ポイント 投稿者 GN⁺ 2026-02-20 | 3件のコメント | WhatsAppで共有
  • Minecraft Java Edition がグラフィックスレンダリングエンジンを OpenGLからVulkanへ移行
  • 1990年代から使われてきた OpenGLの更新停止とmacOSサポート終了 が移行の背景
  • Vulkanは Windows・Linuxで標準対応、macOSは変換レイヤーで対応し、性能低下はなし
  • この移行により 視覚品質の向上とフレームレート改善 が期待される
  • スナップショットでOpenGLとVulkanを並行テストし、安定性を確保でき次第OpenGLを削除する予定

Bringing modern rendering to Java

  • Minecraft: Java Editionでは Vibrant Visualsの準備作業 が継続しており、レンダリングコードのリファクタリングと近代化が進められている
    • これまでのアップデートでレンダリングコード構造の改善を実施
    • レンダリングの基盤技術そのものを置き換える段階に入った
  • ゲームのレンダリング技術を OpenGLからVulkanへ移行 する予定
    • グラフィックスおよび性能面で新たな可能性を確保するのが目的
    • Modコミュニティや一部プレイヤーに影響が出る見込み

What are we changing?

  • 現在のJava Editionは1990年代に作られた OpenGLグラフィックスAPI を使用している
    • リリース初期からOpenGLベースを維持してきた
  • OpenGLを採用した理由は Linux・Windows・macOSの全OSをサポート できたため
    • ほぼすべてのPCとMacで動作するよう設計されていた
  • OpenGLは9年前に更新が止まり、macOSでは 非推奨(Deprecated) 状態で、将来的には実行できなくなる予定
  • macOS互換性のため古いOpenGLにとどまる必要があり、その結果コードベースの近代化が難しくなっていた
  • macOSやLinuxを含む大半のPCでJava Editionを今後も動作させ続けるため、OpenGLからの移行が必要

Introducing: Vulkan

  • Vulkanは 10年以上にわたり市場で使われてきたグラフィックスAPI であり、主要なハードウェアベンダー全体で採用されている
  • Windowsおよび最新のLinuxでは標準対応し、macOSでも 変換レイヤーの適用でサポート 可能で、性能低下なしに動作する
  • 長期的には性能向上と機能拡張の可能性を確保できる
    • Vibrant Visualsの実装に必要な基盤を提供
  • GPUが10年以上前のものだとVulkanに対応していない可能性がある

What does this mean for modders?

  • OpenGLからVulkanへ移行することで OpenGLベースのレンダリングModに影響が出る
  • Vulkanへの移行作業は通常のリリース対応よりも多くの労力を要すると見込まれる
  • ModコミュニティにはOpenGL依存を減らすことを推奨
    • 内部レンダリングAPIを可能な限り再利用することを推奨
    • 必要であれば開発チームと直接技術的な議論も可能
  • Vibrant VisualsのDiscordチャンネルで技術的な議論を実施
    • 告知用チャンネルではなく、開発者同士の深い技術議論の場

What does this mean for players?

  • 一部のModは移行過程で影響を受ける可能性がある
    • Mod制作者の更新には時間が必要
  • 今後のスナップショットでは OpenGLとVulkanを並行提供する予定
    • スナップショットおよび正式版でレンダラーを選択可能
    • 安定性確保とバグ最小化の作業も並行して進める
  • バグは bugs.mojang.com から報告してほしい

When is this happening?

  • 夏の間にVulkanをスナップショットテストへ導入することを目標としている
  • テスト期間中はOpenGLとVulkanを切り替え可能
  • 安定性・性能の検証が完了した時点でOpenGL実装を削除する予定
    • 削除前に事前告知を行う
    • 最低動作要件も更新予定

Vulkan and Vibrant Visuals

  • レンダラーの近代化は Vibrant Visualsロードマップの中核的ステップ
  • Vulkanへの移行によってグラフィックス改善の余地が広がり、性能面の強化も可能になる
  • ドライバ起因のバグ減少も期待される
  • macOSで継続して動作可能にすることが中核目的
    • すべての対応OSのプレイヤーが同じように参加できることを保証するため

アップデートの意味

  • 今回の移行は、Minecraft Javaが 現代的なグラフィックス技術スタックへ移る 重要なステップ
  • ゲームエンジンの技術基盤を強化 し、今後の拡張性や機能追加に有利な構造を整える
  • OpenGLからVulkanへの移行は ゲーム業界全体におけるグラフィックスAPI世代交代の流れ とも重なる

3件のコメント

 
GN⁺ 2026-02-20
Hacker Newsの意見
  • 時間が経てばメインスレッドのCPUオーバーヘッドが減ることを期待したい
    DX11から12へ、OpenGLからVulkanへ移植されたゲームが単にAPIの置き換えだけで性能向上を得たのではなく、並列ドローコール処理能力を活用したからでもある
    MinecraftはGPUがレンダリングできる速度よりCPUの方が遅くてボトルネックになっているので、この変化でMod環境でもCPUに余裕が生まれることを期待している

    • 私はLinuxシステムのベンチマークにUnigine Heavenを使っている
      試しにWindows版をProtonで動かしてみたら性能が30%向上した
      おそらくProtonが使っているdxvkライブラリのマルチスレッド化のおかげだと思う
    • VulkanにはGPU上で一部の計算を直接実行できる機能があるので、voxelレンダリングの高速化が可能になりそう
  • Minecraft Java Editionはデスクトップ専用なので、モバイルのVulkanドライバ問題を避けられる点ではよい選択だと思う
    ただ、Microsoftほどの規模なら、プラットフォームごとに安定したAPI(DX12、Metal)を使うクロスプラットフォームRHIを作る余力があると思っていた

    • Microsoftは大きいが、Mojang Studiosはそうではない
      Javaレンダラーを3種類維持管理するのは負担が大きく、とくにModエコシステムが中核なので、今回の変化だけでも混乱は大きいはず
      Shader Modの保守をさらに難しくする必要はないと思う
    • Bedrock Editionはbgfxを使っている(公式ソース
    • モバイルではサードパーティーランチャーがANGLEを通じてEGLやMetalドライバを使っている
    • VulkanとDX12のどちらを選ぶかは、実際には表面的な違いにすぎない
      macOSでもVulkanを動かせるので、わざわざDX12を新規プロジェクトで使う理由はよく分からない
  • 私の古いAcer C720 Chromebook(Intel HD4400 iGPU)ではVulkanがサポートされていないので、Minecraftが壊れそう
    昔はどんなハードウェアでも動くのが長所だっただけに残念

    • OpenGLレンダリングとVulkanレンダリングを切り替えられるなら、引き続きOpenGLでプレイできそう
    • Java版は旧バージョンでも実行できるので、1.7.10をそのまま楽しみ続けることもできる
    • Mesaドライバでは、そのチップセットが一部のVulkan機能をサポートしている
    • 私もまだC720を使っている。SDR機材用にケースに入れてあるが、本当に愛着のあるコンピュータの一つだ
    • OpenGLがさまざまな機器で最も高い互換性を達成していた点は興味深い
  • なぜコメントをソース側に移さないのか気になる(関連スレッド

    • 結局、タイミングがコンテンツよりも重要だということを示す例のように思える
  • MicrosoftがAppleよりKhronos標準に近づいているのが興味深い
    SPIR-VをDirectXシェーダーコンパイラの出力および入力フォーマットとして採用し、Vulkanとの相互運用性を高めた

    • Microsoftはすでに以前からSPIR-Vを採用しており、Googleが一部の作業を進めていたおかげで、フォークを減らしたい意図が大きい
      AppleはOpenCLの扱い方に不満が多く、SonyとNintendoはKhronosにほとんど関心がない
      実際、Khronos APIは拡張スパゲッティ問題のせいで完全な移植性に欠ける
  • VulkanModは性能向上が大きいが、ほとんどのModと互換性がない
    今後、フルModpackでもVulkanを使えるようになれば本当に楽しみ

  • Vibrant VisualsがJava Editionにも早く来てほしい
    シェーダーを使うのにいつもModが必要なのは残念

    • 実際には1.17以降、リソースパックにGLシェーダーを直接含められる
      複雑なローダーやセキュリティリスクなしに、.zipファイルをドラッグ&ドロップしてインストールできる
      Aperture、Iris、Optifineほど柔軟ではないが、機能はかなり似ている
      Vulkanシェーダーもリソースパックに含められるのか気になる。ただし、ゲーム機能を壊すリスクが大きいため制限されるかもしれない
    • Java EditionをModなしで遊ぶのは少し不思議だ。それならBedrockの方が簡単ではないかと思う
  • JavaにVulkanバインディングがあるとは知らなかった。たぶんJNIを使っているのだろう
    まだOpenGLを使っていたのは意外だ。Minecraftの現状はよく知らないが、デスクトップ向けの非Java版があることも初めて知った

    • JNIは今では事実上Foreign Function & Memory APIに置き換えられている
      メモリ管理がはるかにすっきりし、外部関数(Vulkanなど)とのバインディングもずっと簡単になる
      最近のJavaでもっとも過小評価されている機能の一つだと思う
    • JNIの代わりにFFM APIを使ってほしい
  • なぜ同じゲームを2つのバージョンで維持しているのか気になる

    • もともとはBedrockへ完全移行しようとしていたが、Modding APIが不十分でバグも多く、Javaが依然として好まれている
      Bedrockは機能面ではほぼ追いついたが、完全な代替には失敗したわけだ
    • JavaはModdingコミュニティ中心なので、これをなくすとYouTube・Twitchのエコシステムが崩れるリスクが大きい
      Bedrockは性能と移植性は良いが、コンソールではどうせModdingができない
    • Javaエコシステムを失えばゲーム自体が死ぬかもしれない
      YouTubeコンテンツの90%がJavaベースなので、Microsoftは機能の同等性確保に注力している
    • BedrockはModdingが制限されており、Javaコミュニティは関心がない
      Microsoftにとっては2つのバージョンを維持して売上を最大化するのが合理的だ
    • Javaを打ち切れば、多くのプレイヤー(私を含む)がゲームをやめるだろう
  • Vulkanシェーダーコンパイルの遅延問題をうまく解決していることを願う

    • MinecraftレンダラーはPSO依存度が低いので、状態ベースのスタッター問題はなさそう
      複雑なマテリアルシステムではなく、単純なvoxelレンダラーだからだ
    • Vulkanはシェーダーコンパイルによる遅延を避けるための手段をすべて提供している
      問題は、エンジンがあまりに多くのシェーダー組み合わせを生成したり、特定のGPU状態(例: ブレンディング)がシェーダーの再コンパイルを引き起こすときに発生する
      最新のVulkanでは大半の状態を動的状態(dynamic state) として扱えるため、この問題を緩和できる
      ただし、ブレンディングのような一部の状態は依然として再コンパイルを引き起こすことがある
      つまり、開発者がそのような動的状態を避ければ、遅延は簡単に防げる
    • こうした問題はVulkanの欠陥ではなく、開発者の最適化不足の問題だと思う
      最近は大手ゲーム会社が技術的最適化をおろそかにすることが多い
    • 初心者の立場から見ると、事前コンパイルされたシェーダーで解決できないのかという疑問がある
 
aer0700 2026-02-21

マインクラフトはもともとJavaで開発されたゲームですが、MSに買収された後にC++でもう一度作られたんですね。ゲーム1本をまるごと開発言語を変えて再実装するのは簡単なことではなかったはずなのに、どうしてそうなったのか不思議ですね。

 
karikera 2026-02-24

モバイル向け最適化を目的にベドロックエディションを作ったのだと思いますが..
Javaを切り捨てるのではないかと思っていましたが、結局どちらもアップデートしていくことになったようですね。