Speeding up Minecraft?

Hey guys. So I play minecraft a LOT and I usually play with mods aswell. Well, I (FINALLY) switched to linux, and I lost 50 fps… So now, I’m working on making a mod to make the game faster. If anyone does happen to have experience with it, I am using MinecraftForge aswell. I plan to go through all the classes and attempt to fix ANY problems in the code. If you have any tips for making this easier, please let me know. Also, I tried using optifine (I usually do…) and it barely even made a difference. I don’t expect my “mod” to make the game faster than optifine would, but I still am going to try it just for fun. So, if you have ideas for me, please let me know! Thanks for reading!

Rewrite most of Minecraft to use rendering that isn’t immediate mode and multithread some of it :stuck_out_tongue: Realistically you could probably add a bit of multithreading, and if you want to spend a lot of time on it you could convert it to use DisplayLists.

You’re not the first one trying this.

Are you searching for something like OptiFine? It worked perfectly for me :slight_smile:

[quote="DziNeIT,post:2,topic:41390"] Rewrite most of Minecraft to use rendering that isn't immediate mode and multithread some of it :P Realistically you could probably add a bit of multithreading, and if you want to spend a lot of time on it you could convert it to use DisplayLists. [/quote] Minecraft doesn't do immediate mode rendering. It uses display lists.

Btw, Markus Persson was once moderator for exactly THIS part of this forum ‘Performance Tuning’ :wink:

I said that Optifine USED to help when I was using Windows, but now that I use linux, it doesnt really help much. Thats why I want to try making my own.

Argg… Sorry :confused:

Now then I can’t help you either.

Profile, profile, profile.

Perhaps it has something to do with your graphics cards drivers?

As far as drivers go, ill look into that…
Profile… well I know that the most used classes are byte[] and Vec3… so… yeah. Anyway, if anyone has any amazing ideas, lemme know. THX

byte[] is rarely not at the top of space used per single type in most profilers, since it’s the backing store of every single string in the system, including things like class names.

Same as Strings and other basic building blocks. Ignore those.

I would immediately consider drivers, driver settings and your xorg setup. Turn off desktop composing for example. Also check your clocking performance. Perhaps the cpu is always throttled?

Quite simply there should not be a big performance difference between the platforms in general. I would expect no more than 20% tops in either direction.

In fact how much is the difference. If you have gone from 100fps to 60, well yea perhaps you have vsync?

I play with optifine and i get a max fps of 30 or so… and I have vsync disabled. It is my drivers for sure… and it doesn’t seem like there are any other drivers that will be better. As far as speeding up minecraft however, the Vec3 and the AABB classes are used a TON… and they both have object pools. I wonder if there is some way to optimize the pools?

This whole thread is insane.

  1. Clearly memory usage is not related to performance - typically there is a trade off (reducing memory usage will hurt performance)
  2. Clearly the code is just fine, because it worked fast on another operating system
  3. Clearly one does not simply ‘optimize a game’ in any reasonable amount of time.

Get your drivers sorted, and play your game.
Drop this ‘side project’ immediately, because nothing good will come of it.

I also get performance issues with Minecraft under Ubuntu, so yeah, probably a driver/OS issue.

Maybe it’s an issue with the JVM?

Compare The Oracle JVM and OpenJDK.
Oracle works in this case faster on my Linux.

The biggest impact has changing to a propriatary driver compared
to the open source driver.
But this has also its problems.

jeez… i cant mess around with code and see what makes it faster and what makes it slower? :expressionless:

You’re just as likely to succeed as when trying to make your car engine more efficient by twisting a few nobs.

ok, but have you considered that i may enjoy doing this? if it wasnt fun, i would just live with optifine and not even think about trying to improve the game.

each block (since 1.5) has now got its own image file instead of located on a sprite sheet, this allowed them to have there own texture pack support for higher resolutions images.

The multiple texture binds may cause a bit of a frame rate drop, maybe you could hack in a way to convert the image to a sprite sheet too allow for only one bind.

NOTE
I have not looked at the code, but if you look for the textures in the jar file, you will see each item / block has its own file since 1.5.

Almost correct.
All the blocks have their own file, but at launch, it ‘stiches’ them all together into one big spritesheet.
Therefore not multiple texture binds.