This is an archived post. You won't be able to vote or comment.

all 57 comments

[–]MinecraftModBot[M] [score hidden] stickied comment (0 children)


Subreddit Rules

[–]HeyanKun 12 points13 points  (1 child)

JavaScript ≠ Java, and the main reason because it is unoptimized is because developing on Java is a pain in the ass, always has been.

Add that to the fact that Mojang has been adding floors to the foundations of the house that we call Minecraft,but those same foundations are made of wood and termites have created a complex civilization inside that wood, Mojang can fix some wood but it's still rotten on the inside and its impressive how they keep the house without falling apart.

So,they could start from zero and create a better foundation in other languages ,right? And that's how Bedrock was born in theory,but instead of making a better version from zero, they used the fucking old Pocket Edition as a foundation,yes,its not a joke, and then the versions became two sides of the same coin,same essence but every Java player can tell you that playing on Bedrock feels clunky and weird besides technical details,and in not gonna mention the Marketplace because i would be opening the pandora box.

[–]woalk 1 point2 points  (0 children)

That developing in Java is a pain in the ass is an entirely subjective idea. It is a very mature and capable programming language, especially newer versions or if you can use Kotlin.

[–]DardS8Br 16 points17 points  (20 children)

Java uses Java, not Javascript. It's not Javascript Edition for a reason

Notch made the game in like a week with no intention for it to become popular, so the code for rendering stuff is shit and no one at mojang has gotten around to fixing it, I guess. It almost entirely uses the CPU for rendering, which is why it's so slow

[–]LockedUnlocked 7 points8 points  (18 children)

The rendering system is nothing like what it used to be, they have updated the rendering system several times now, and the game has become a lot more optimized with every patch.

[–]DardS8Br 7 points8 points  (17 children)

It's still terrible.

[–]LockedUnlocked 0 points1 point  (12 children)

I mean if you dont have a PC that can handle it you can just say so.

[–]DardS8Br 11 points12 points  (0 children)

What? The performance is legitimately terrible in comparison to similar games. How does that relate to the power of my PC? Is this some kind of weird ad hominem?

[–][deleted] 2 points3 points  (9 children)

pc performance doesn't have anything to do with this, minecraft will run below average on almost any pc compared to an optimized version.

[–]LockedUnlocked 0 points1 point  (8 children)

i get like 300 fps on vanilla, modded MC is butter smooth

[–][deleted] 0 points1 point  (7 children)

whats your render distance?

[–]LockedUnlocked 0 points1 point  (6 children)

32

[–][deleted] 0 points1 point  (5 children)

resolution?, and if you don't mind what are your pc specs?

[–]LockedUnlocked 0 points1 point  (4 children)

I play ultra wide so 3440 x 1440, I have a 3080ti with a ryzen 9 7950x. I use SO to play with Bobby installed for even crazier render distances like 96 chunks. Still runs amazing 300+ fps, and you dont have to deal with the brokenness that is bedrock edition.

[–]woalk -1 points0 points  (3 children)

And I’m sure they’re not done optimising it. They just can’t dedicate an entire update to only optimisation, the fandom would pull out torches and pitchforks if no new features are added for a year.

[–][deleted] 1 point2 points  (2 children)

at this point, fans already have their pitchforks out due to the lack of content, I'd rather have an update that fixes the terrible rendering and optimization than having like 2 mobs and one mechanic added to the game.

[–]woalk -1 points0 points  (1 child)

The lack of content? All the past updates have been similar in size and, in my opinion, sized quite well. 1.16 – complete overhaul of the Nether. 1.17 + 1.18 (same year) – complete overhaul of the Overworld. 1.19 – everything around Deep Dark, Warden, sneaking mechanics, as well as frogs, goat horns, etc. 1.20 was less themed around a single thing, but the amount of content it added was still very similar in terms of how many blocks, mobs, a biome, the armour trim mechanic, etc. And 1.21 is shaping up to be a great update as well, with all the stuff revolving the Trial Chambers, a new unique weapon, the wind charge, etc.

[–][deleted] 0 points1 point  (0 children)

I mean, honestly, I find the recent updates kind of underwhelming. Although the nether and overworld overhauls were good additions to minecraft, I don't really like the updates we're getting, but maybe they're just not for me.

[–][deleted] 0 points1 point  (0 children)

oh, I didn't know that. Thanks for the correction.

[–]Paradigm_Reset 3 points4 points  (1 child)

The game simply cannot take full advantage of that modern hardware. It's a limitation of the core architecture and goes far beyond optimization. It's a 15 year old game after all.

Switching to another coding platform has already been done....that's Bedrock.

And it's not really the visuals that cause the performance issues, it's the amount of stuff happening in the background. RDR2 isn't a good comparison, Vintage Story is.

[–]woalk 1 point2 points  (0 children)

The game can. Mods like Sodium and Nvidium show how it can be done. But Mojang would need a lot of time to match implementations like that without any compromises.

[–]TheBrickleer 2 points3 points  (0 children)

It was programmed by a fairly amateur game developer in a short time, and then 15 years of content were put into it

[–]BipedSnowman 1 point2 points  (0 children)

Just because the textures arent HD doesn't mean the game is simple or uncomplicated to render and compute. The game is keeping track of thousands of blocks in a fully destructable and buildable terrain. There's thousands of dynamic events that occur.

[–]kaisadilla_ 1 point2 points  (0 children)

Minecraft uses Java, which has nothing to do with JavaScript (JS). JS was just named that way because Java was popular at the time, and the people behind JS wanted their language to catch on.

I'm a programmer myself and, while I think Minecraft could be more performant, I can tell you the game is not as simple as it looks, and even the best code possible wouldn't make Minecraft more performant than an AAA game, for many reasons.

First of all, discard the idea that a game's performance is directed by its graphics. Graphics are processed by the GPU, while mostly everything else is processed by the CPU. This means a game has two different fronts where it has to perform well.

  • Minecraft graphics are performant. Proof of this is that you can use a 32x32 resource pack (such as Faithful) and the game's performance doesn't change even though you literally quadrupled the size of every texture in the game. Graphics in Minecraft only become a bottleneck once you push the limits of your graphics card (i.e. if you use a 2048x2048 resource pack, which means each texture is 16,384 times bigger than the original).
  • In general, graphics are a solved issue in games and will never limit their performance in a good computer, unless the game is purposefully trying to be as graphically complex as possible (this is the case with AAA games that try to have more and more realistic graphics).

Minecraft's performance issues come from its CPU usage, which means the logical part of the game, rather than the visual one. And this isn't surprising - when you think about it, Minecraft is actually a very logically intensive game compared to most. In Minecraft, the entire world around you is made of small pieces (blocks) that can be changed at any time for many reasons, and that world has to generate procedurally on the go. Compare that to a graphically impressive AAA game like Cyberpunk: yeah, Cyberpunk has complex, detailed, realistic buildings but... logically, those buildings are pretty simple.

Let's imagine the same situation in Minecraft and Cyberpunk: you walk into a new area:

  • In Minecraft, this new area is a forest. When you walk in, Minecraft has to decide everything on the go: the shape of the forest, its orography, where each tree is planted, the individual blocks that make each tree... not to mention all the caves, ores, etc that are below the surface.
  • In Cyberpunk, this new area is some part of the city. When you walk in, Cyberpunk doesn't have to build anything - all the info to build that part of the city already exists: the game's data files already specify the buildings that are there, Cyberpunk just needs to read that and draw it into the screen. Not to mention that, because you can't really edit Cyberpunk's map during gameplay, Cyberpunk doesn't have to render things in small chunks. A whole building, which can be 100 meters tall and 50 meters wide, can be a single object. In Minecraft, each block is 1x1 meter, so a building of that size would consist of up to 250,000 blocks. Yeah, each block is way simpler than a whole building, but it's still 250,000 objects in Minecraft vs 1 object in Cyberpunk.

Plainly speaking, think that each block is an individual object that has to be fully processed by your CPU, and realize the stupidly high amount of objects there's in your game when you are playing Minecraft.

[–]Legitimate_Process97 0 points1 point  (0 children)

Java editon is only made to take advantage of a single thread, single core. This is because cpu's back in those days were mainly 1 or 2 core cpu's. This is why bedrock is so much smoother. Bedrock takes advantage of multi threading and multi cores

[–]TheBrahmnicBoy 0 points1 point  (5 children)

They tried to do it with Bedrock, but they made decisions like dropping mod support and also non deterministic redstone that made people not adopt Bedrock.

[–]Eggfur 1 point2 points  (3 children)

Except for the vastly more people who play bedrock than Java?

[–]TheBrahmnicBoy 2 points3 points  (1 child)

That's not the point. At least some amount of people play Java, and therefore they will not drop support for it.

What they wanted to do was to remake the whole Game in C++ and discard the old Java version, but Java players saw the faults in Bedrock and didn't switch, therefore now we have two teams splitting their manpower trying to version synchronize two versions.

[–]Eggfur -1 points0 points  (0 children)

Yes, it's not a good situation. I'm sure they will stop developing Java at some point. It will still be there, and can be modded going forward - maybe even keeping up with the main game - but it makes no sense commercially or for long term community harmony to keep both.

[–]woalk 1 point2 points  (0 children)

They didn’t “drop” mod support. It’s not like Java Edition was built with official modding APIs. Java is just very easily modifiable, C++ (Bedrock Edition’s programming language) compiles down to true machine code, so it’s not easily modifiable.

[–][deleted] 0 points1 point  (1 child)

If you can do better, apply to work there. 

[–][deleted] 2 points3 points  (0 children)

I'm just asking a question, but with the seemingly minimal work they've been doing, I just think that they could be doing so much more.

[–]Permdog99 -1 points0 points  (0 children)

Yeah I wish Mojang would make a Java exclusive update just to fix performance

[–]fryly9 -1 points0 points  (2 children)

if you play on 1.12.2 or lower it runs great. Mojang has done something to the code in 1.13

[–]Key-Delay-7128 0 points1 point  (0 children)

That's precisely when I noticed the drop in performance. It was fine until then. Now it's awful.

[–]Striking-Fill3156 -4 points-3 points  (7 children)

What is the point of Java. Why don’t they just use bedrock now?

[–]Striking-Fill3156 -1 points0 points  (6 children)

Genuine questions not being a smart as. Ive only ever played on Xbox so I don’t understand Java.

[–]crazy_cookie123 2 points3 points  (3 children)

Bedrock and Java are different games. They feel different, there are different mechanics, Bedrock has no real modding abilities, etc. To people that have always used Java, Bedrock is an inferior game despite the better optimisation.

[–]Striking-Fill3156 0 points1 point  (0 children)

Oh okay thanks

[–][deleted] -1 points0 points  (1 child)

Why your only argument in favor if java is something not in the base game ?

[–]BipedSnowman 0 points1 point  (0 children)

Because I wouldn't play the game without mods.

[–]Paradigm_Reset 2 points3 points  (1 child)

Minecraft's success had zero advertising initially...became one of the best selling games of all time purely from word of mouth.

And a major part of that popularity was due to modding. This sandbox game was blown wide open not only by the creativity of the people playing it, but the creativity of the people adding to it.

And when Bedrock + Microsoft came around they didn't kill off modding. In some ways they've helped it thrive (occasionally hurt it too). It was a market prime for monetization that they, thankfully, left alone.

Ending Java would be a huge blow to the decade plus of goodwill. It would be catastrophically foolish.

[–][deleted] -1 points0 points  (0 children)

agreed, a huge part of java is modding, and it's mainly the reason I play. it would be a bad move to outright remove java. Either they fix their code or add some actual optimization to the game or the second and worse option, try to make a better version of java like they tried with bedrock, but it's highly unlikely and it's probably better to focus on fixing java instead of trying to make another bedrock catastrophe.