Minecraft Java is switching from OpenGL to Vulkan

(gamingonlinux.com)

80 points | by tuananh 1 hour ago

5 comments

  • cyber_kinetist 1 hour ago
    Not a bad choice... since Minecraft Java edition only supports desktops, they don't have to deal with the abysmal Vulkan drivers on mobile.

    Though I thought a company large as Microsoft would have the resources to build a cross-platform RHI with the most stable API available for each platform (DX12 for Windows and Metal for macOS)...

    • pdpi 53 minutes ago
      A company as large as Microsoft has resources to do a lot of things, but you’re not borrowing resources from the Office team to help on this project.

      The relevant measurement is the resources Mojang has as a studio. And I expect the decision here is that they don’t want to commit to the long term maintenance of three renderer implementations on the Java side.

      Another concern is that modding is a major part of why Java Edition is so popular, and that includes shaders specifically. This is already going to cause chaos in the modding world as it is, no need to compound that by making shader mods that much more burdensome to maintain.

    • ozarkerD 53 minutes ago
    • charcircuit 13 minutes ago
      On mobile 3rd party launchers use ANGLE to use EGL or Metal drivers.
    • Svoka 26 minutes ago
      Honestly pick between Vulkan and DX12 is very superficial.

      But you can easily make Vulkan run on macOS. Not sure what would be the reason to use DX12 in the new project today given free choice of technology, especially when team comes from OpenGL.

  • PaulKeeble 1 hour ago
    I hope this reduces the CPU overhead a bit on the main thread with some time. Quite a few games that ported from DX11 to 12 and openGL to Vulkan didn't just gain performance from the API swap it required taking advantage of the new higher parallel draw call capabilities. #

    The main thread is often the limiting factor in minecraft. Minecraft just can't go as fast as the GPU could render the scene and even with quite a lot of shaders things are CPU bottlenecked. Hopefully this changes with time as modding minecraft could certainly do with a bit more CPU time free.

  • jsheard 1 hour ago
    Who would have thought that Microsoft would end up getting cosier with Khronos standards than Apple. This is after they adopted SPIR-V both as a target in their shader compiler and as an ingest format in DirectX, smoothing over interop with Vulkan in both directions.
  • charcircuit 1 hour ago
    I hope they have a solution to the notorious Vulkan shader compilation lag spikes.
    • cyber_kinetist 1 hour ago
      I don't think Minecraft's renderer will be PSO-heavy enough to have stuttering issues. It's not a state-of-the-art compute-driven renderer that supports artist-driven workflows with custom materials and shaders... it's just a voxel renderer with very primitive lighting.
      • slopinthebag 1 hour ago
        I wouldn't trust them to not implement the next version of Minecraft in UE5 with nanite and lumen
    • jimbob45 1 hour ago
      I’m not even a neophyte here but why don’t precompiled shaders solve that?
      • raincole 37 minutes ago
        It kinda does. Kinda. Steam constantly downloads precompiled shaders for your games. Especially on Linux.
      • ozarkerD 48 minutes ago
        Can't precompile for all the combinations of hardware, driver version, operating systems, etc... It's not really a vulkan specific problem and it's hard to solve. (for desktops anyways)
  • throwaway27447 1 hour ago
    I'm frankly shocked microsoft has a java implementation. I thought they were the type of organization to pretend it didn't exist!
    • pridkett 1 hour ago
      Java is the original version from Mojang/Notch. There’s always been enough of a community that killing it off to move away from Java would break so many extensions and servers would see an active revolt.

      There is the non-Java version (Bedrock), but that’s not nearly as extensible.

      • throwaway27447 1 hour ago
        Ah, I had misread "minecraft" as "microsoft". I wasn't aware minecraft java was a thing. Crazy they have their own java implementation!
        • Xorlev 1 hour ago
          Not a Java implementation, but the original game was written in Java. Later, Microsoft bought Minecraft and rewrote it (Bedrock edition) which runs on Xbox, tablets, etc. But, the community writes mods in Java.

          Now both exist and get roughly the same feature set now, but the Java version remains popular given the vast variety of mods and servers.

        • muststopmyths 1 hour ago
          It’s the Java version of the game, not a game version of Java.

          There’s a native version called bedrock

    • RiverCrochet 43 minutes ago
      While you meant Minecraft here, to shock you further, please enjoy this:

      https://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine