I doubt Minecraft was optimized for Linux in the first place.
So there might be some tweaks to optimize it.
Question is, can you do that with the available (e.g. -> decompiled) code.
If I may chip in… I get performance issues under Linux with my own test code.
A simple program that lets you move a sprite around the screen, which runs so fast on Windows the sprite becomes a blur, actually runs slowly under Ubuntu.
Same source, one using JDK7 (windows XP and 7) the other using OpenJDK7.
So yeah, I’m still of the opinion that the issue lies with the Java implementation under Linux (or how it interfaces with the hardware) than the program’s code itself.
Although if there are ways to optimize the code to work better under Linux, I’d love to learn about them.
Beware the programmer apocalypse! It’s like zombies, but rather than bite brains off, we complain about proper coding practices and obscure implementation details!
How does the kernel even have to do with the performance of graphics applications? At all?
Linux is the kernel. What determines the performance of applications in linux are primary the drivers and their quality. That is the support you are talking about.
You know the steam folks came out with numbers that showed higher performance on linux than windows. But 30% is meh… You going to get far bigger range of performance from different grfx cards. No point super optimizing for one specific case.
If you are looking to get your performance back on linux playing minecraft, then you have to drop OpenJDK. If you are on Ubuntu or another Debian based distro here is a tutorial to install Oracle’s JDK, which is far superior to OpenJDK. If you are using Fedora or another RPM based distro, go to java.com and simply download and install the .rpm
Switching from the default to oracle’s increased my performance greatly, better than what I was getting on Windows actually.
You comparing like with like there? ie. OpenJDK 7 with Oracle Java 7? The default OpenJDK on Ubuntu is 6, but 7 is in the repos. They shouldn’t be that much different in speed - they’re practically the same code base.
OpenJDK and Oracle JDK share 97% of their source code. I completely disagree with you about the “superiority” of Oracle JDK. Maybe Minecraft is slower with OpenJDK but it doesn’t mean than OpenJDK is slower than Oracle JDK. There is still a known bug preventing from running Minecraft as an applet with Icedtea-web & OpenJDK but actually it comes from something else as you can see here. Minecraft, an extremely famous game has a bad support of OpenJDK and you blame OpenJDK instead of blaming Minecraft itself, it’s not fair. I have never noticed measurable performance differences when developing 3D applications in Java when running them both with OpenJDK and Oracle JDK.
Which drivers? Proprietary or free open source ones? Don’t mix up everything. The last version of Windows having a better support of OpenGL than GNU Linux was Microsoft Windows 98. After that, OpenGL was known to be faster and more reliable under GNU Linux in general.
Which drivers? Proprietary or free open source ones? Don’t mix up everything. The last version of Windows having a better support of OpenGL than GNU Linux was Microsoft Windows 98. After that, OpenGL was known to be faster and more reliable under GNU Linux in general.
I installed proprietry drivers from NVIDIA on many Linux machines and never had any problem with it.
I once had a radeon card, but I also don’t remember having any driver issues with it.
If you have NVIDIA or ATI, just install proprietry drivers - card manufacturers know best how their cards work.