Why is Minecraft not optimized to make use of the full potential of Duo and Quad core processors?
From my knowledge, Minecraft only uses 1 processor core to run its processes, along with the GPU.
I think in a future update, an option should be added where you choose what kind of CPU you have (single,duo,quad), and that will ad multi-threading and determine how the game allocates chunk loading and such spread on multiple cores to squeeze the most power out of your system. This would greatly improve performance on some of the newer, less GPU intensive laptops that MANY people have today.
For the most part, this has nothing to do with Minecraft but the platform which it is built. Java Virtual Machine does not take full advantage of Multicore CPUs.
Minecraft can however make use of multiple threads (POSIX).
I think it just needs to be coded to support as many threads as a player has available. i have 24 CPU threads and only one is used. lots of wasted potential. Heck i think the server needs it more actually.
For the most part, this has nothing to do with Minecraft but the platform which it is built. Java Virtual Machine does not take full advantage of Multicore CPUs.
Minecraft can however make use of multiple threads (POSIX).
Well, most of the time, to use multi-threading required mods. I am talking about the option being built into the game itself so everyone may get full use.
For the most part, this has nothing to do with Minecraft but the platform which it is built. Java Virtual Machine does not take full advantage of Multicore CPUs.
Minecraft can however make use of multiple threads (POSIX).
This is not true at all, java has supported concurrency since 1.2 released in 1998.
Whether or not multiple threads are running on one or more cpu cores is irrelevant and depends on the hardware. Intel hyper-threading supports two concurrent threads on one core for instance.
This isn't as easy as it sounds, Notch works on a Java based platform that doesn't support Multi threading. Notch would have to spilt things into multiple threads. if im correct.
It is hard to make threads share data and work nicely together. This does not mean it is impossible.
The way Minecraft works now it has a giant laundry list of things it needs to do each tick. Simple performance gains could be found by offloading some of the things in this list to separate threads.
Processing mob updates (move mobs around) and do chunk updates in another (grow grass, drop leaves etc) are things that I would think could be done on separate threads at the same time each tick.
Other places performance could be gained is by using thread pools, generating new chunks when a player moves around from a pool of threads could be especially beneficial on smp servers.
Minecraft doesn't scale, smp servers are still limited to single server installs.
Break the server into small components that can be run on separate physical servers tied together with a high speed network.
Each component could then be scaled as needed.
Minecraft is a great game and is already amazing, with some effort it could be the most epic thing anyone has ever seen.
Seriously, I think it would be possible to have Braveheart style field battles in Minecraft if it were done right.
From my knowledge, Minecraft only uses 1 processor core to run its processes, along with the GPU.
I think in a future update, an option should be added where you choose what kind of CPU you have (single,duo,quad), and that will ad multi-threading and determine how the game allocates chunk loading and such spread on multiple cores to squeeze the most power out of your system. This would greatly improve performance on some of the newer, less GPU intensive laptops that MANY people have today.
Minecraft can however make use of multiple threads (POSIX).
Totally +1
In life, we are either pawns or kings - Napoleon
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumWell, most of the time, to use multi-threading required mods. I am talking about the option being built into the game itself so everyone may get full use.
This is not true at all, java has supported concurrency since 1.2 released in 1998.
Whether or not multiple threads are running on one or more cpu cores is irrelevant and depends on the hardware. Intel hyper-threading supports two concurrent threads on one core for instance.
It is very easy to use threads in java. http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html
It is hard to make threads share data and work nicely together. This does not mean it is impossible.
The way Minecraft works now it has a giant laundry list of things it needs to do each tick. Simple performance gains could be found by offloading some of the things in this list to separate threads.
Processing mob updates (move mobs around) and do chunk updates in another (grow grass, drop leaves etc) are things that I would think could be done on separate threads at the same time each tick.
Other places performance could be gained is by using thread pools, generating new chunks when a player moves around from a pool of threads could be especially beneficial on smp servers.
Minecraft doesn't scale, smp servers are still limited to single server installs.
Break the server into small components that can be run on separate physical servers tied together with a high speed network.
Each component could then be scaled as needed.
Minecraft is a great game and is already amazing, with some effort it could be the most epic thing anyone has ever seen.
Seriously, I think it would be possible to have Braveheart style field battles in Minecraft if it were done right.