Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can the same trick be used with the java client? My son runs minetest on the raspberry pi 400 as minecraft is to slow. I'll do everything for a bit more fps.


There are mods which heavily optimize the java client performance, these would have a greater effect than just ahead-of-time compilation. For instance, the modpack at https://github.com/Fabulously-Optimized/fabulously-optimized packages several of these performance mods together (see https://github.com/Fabulously-Optimized/fabulously-optimized... for the list).


Check out the sodium mod [1], if you haven't already. I've had great success eeking out a few more precious frames with it on older hardware. IIRC, it works on both x86 and ARM processors.

[1] https://github.com/CaffeineMC/sodium-fabric


> I'll do everything for a bit more fps.

Native compilation usually makes things a little slower, not faster. Using the closed-source Enterprise version, and using PGO gets it back to around the same speed as the VM version I believe currently.


Minecraft Bedrock edition runs better. It has feature parity but is not compatible with java server, and requires a new purchase IIRC.


> Minecraft Bedrock edition runs better. It has feature parity but is not compatible with java server, and requires a new purchase IIRC.

That's no longer the case. If you have one, you can "purchase" the other for free. See https://www.minecraft.net/en-us/article/java---bedrock-editi... and https://help.minecraft.net/hc/en-us/articles/6657208607501 for details.

Also, there are mods for the Java server which allow both Java and Bedrock clients to connect to the same server and play together. I don't know the details, but I have played in a server which used these mods.


> Also, there are mods for the Java server which allows both Java and Bedrock clients to connect to the same server and play together.

This is correct. I am running a vanilla SMP for my son, and he plays primarily on the switch. I use a Java server running Fabric and Geyser/Floodgate in order to allow his switch to connect to the server. Everything runs smoothly, so far.


> Also, there are mods for the Java server which allow both Java and Bedrock clients to connect to the same server and play together.

How exactly does that work? Afaik there are quite a few behavioral differences between the two, especially for technical things like redstone and pistons.


Most of these behavioral differences are in the server. So what happens, is that it behaves as if you were playing the Java edition, even when using a Bedrock client.


That sounds like the best of both worlds. Features of Java but performance of Bedrock.


This is misleading, vanilla Bedrock edition allows for a bigger render distance but has a much smaller simulation distance. There's a whole miriad of differences that they're not at all in feature parity.


Hit Shift + F3 to see a frame time breakdown, then you can determine if it is slow graphics or cpu. If it is CPU, maybe graal helps, but it's hard to tell upfront. Also check out some mods dedicated to improving performance like Sodium.


It's always CPU with Minecraft. 1 thread can't do much more.


I don't think the student looked into that at all, but I guess it depends on what the Java client uses for drawing. GraalVM Native Image currently doesn't support AWT on Linux/JDK17+, but we are working on fixing that soon.


> it depends on what the Java client uses for drawing

AFAIK, the Java client uses LWJGL, which is a native library.


Thanks for the info! Seems like it's worth trying to compile the Java client with GraalVM Native Image then, given that this exists: https://github.com/chirontt/lwjgl3-helloworld-native


Apparently, someone has managed to compile the Minecraft client to native: https://medium.com/@kb1000/what-youve-done-with-the-server-i...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: