Minecraft Java is switching from OpenGL to Vulkan
59 points
1 hour ago
| 5 comments
| gamingonlinux.com
| HN
cyber_kinetist
46 minutes 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)...

reply
pdpi
19 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.

reply
ozarkerD
19 minutes ago
[-]
reply
PaulKeeble
28 minutes 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.

reply
jsheard
54 minutes 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.
reply
charcircuit
56 minutes ago
[-]
I hope they have a solution to the notorious Vulkan shader compilation lag spikes.
reply
cyber_kinetist
50 minutes 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.
reply
slopinthebag
47 minutes ago
[-]
I wouldn't trust them to not implement the next version of Minecraft in UE5 with nanite and lumen
reply
jimbob45
44 minutes ago
[-]
I’m not even a neophyte here but why don’t precompiled shaders solve that?
reply
raincole
4 minutes ago
[-]
It kinda does. Kinda. Steam constantly downloads precompiled shaders for your games. Especially on Linux.
reply
ozarkerD
15 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)
reply
throwaway27447
44 minutes ago
[-]
I'm frankly shocked microsoft has a java implementation. I thought they were the type of organization to pretend it didn't exist!
reply
pridkett
35 minutes 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.

reply
throwaway27447
34 minutes ago
[-]
Ah, I had misread "minecraft" as "microsoft". I wasn't aware minecraft java was a thing. Crazy they have their own java implementation!
reply
Xorlev
29 minutes 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.

reply
muststopmyths
30 minutes ago
[-]
It’s the Java version of the game, not a game version of Java.

There’s a native version called bedrock

reply
RiverCrochet
9 minutes ago
[-]
While you meant Minecraft here, to shock you further, please enjoy this:

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

reply