Minecraft - All of my wat

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Strubinator

New Member
Jul 29, 2019
176
0
1
Which as it turns out, is the reason why the game lags so bad on mindcrack. All of the xychlorite and aluminium ore blocks are non-opaque, and are thus rendered. It's the easy method of making a block with a custom render. Which is necessary for those blocks as they're both shiny and animated. Which in turn doesn't help the framerate much either.

Lots of bad decisions taken there imo.

All in all, slowly but surely, I'm thinking about ditching xy completely.
But xycraft looks soooo sexy.
 

Abdiel

New Member
Jul 29, 2019
1,062
0
0
It is java. Java is designed so programmers can write one code and have it run on any machine/operating system. Because of that, it's not optimized for any system. C++ will work faster because it is specifically designed for the operating system and cpu it is being run on, but the code would require massive changes for the different systems out there. Mojang would have to hire a "windows" team and an "apple" team and a "linux" team etc. Keeping any updates to the game synchronized across the platforms would be a nightmare.

The point is, if you were to take Minecraft and recode it, line by line, in C++, without making any changes, it would still run like crap. Sure the compiler might be able to optimize a bit here or there, sure the runtime would run faster, but neither can change poor programming or concept/design decisions. On the other hand Optifine, which fixes some of the worst offenders, can increase FPS several times.

Yes, well-written and well-optimized code would probably run very slightly faster in C++, although not by that much. But Minecraft (or, frankly, Forge and many mods) is neither of these.
 
  • Like
Reactions: Poppycocks

Poppycocks

New Member
Jul 29, 2019
1,914
0
0
But xycraft looks soooo sexy.
Which I'm sure will be the whole point of the mod. Easy, sexy, op. Made for success, made for the masses.

It's like a triple A of minecraft mods.

But I'm more of an indie man.

The point is, if you were to take Minecraft and recode it, line by line, in C++, without making any changes, it would still run like crap. Sure the compiler might be able to optimize a bit here or there, sure the runtime would run faster, but neither can change poor programming or concept/design decisions. On the other hand Optifine, which fixes some of the worst offenders, can increase FPS several times.

Yes, well-written and well-optimized code would probably run very slightly faster in C++, although not by that much. But Minecraft (or, frankly, Forge and many mods) is neither of these.
This^
Get worldedit, get optifine, fly from point A to point B on speed 3. And compare how the chunks load with and without it. You'll be very VERY surprised.
 

Hydra

New Member
Jul 29, 2019
1,869
0
0
It's because Java. ;)

No it's not. I'm a Java programmer and I actually made a minecraft viewer and the issue is simply the amount of polygons and how many change between frames. Minecraft is actually a VERY memory-intensive application simply because it's voxel-based. Every single block consists of 12 polygons. A lot of them aren't drawn because they're not visible but it's still a lot of CPU and GPU work to figure out what to draw and what not to draw. For every single block you can see atleast 2 polygons are visible.

It is java. Java is designed so programmers can write one code and have it run on any machine/operating system. Because of that, it's not optimized for any system. C++ will work faster because it is specifically designed for the operating system and cpu it is being run on, but the code would require massive changes for the different systems out there. Mojang would have to hire a "windows" team and an "apple" team and a "linux" team etc. Keeping any updates to the game synchronized across the platforms would be a nightmare.

Complete and utter nonsense. Java bytecode is compiled at runtime instead of at compile time. Java code is 'running' as machine code as much as a C++ application is.

If you'd port Minecraft to C++ there would hardly be a speedup. It's OpenGL based so most of the work is done by the GPU anyway.
 
  • Like
Reactions: warfighter67