Jump to content

Recommended Posts

Posted

Here's my relevant system specs:

2 GB ram

250 GB HDD

Geforce 8600 GTS

AMD Athlon 64 x2 4200+ @2200 Mhz

About the most graphically intense game I can play is TF2, unfortunately. Forces me to use an Xbox for all the new games.

I'm hoping to buy parts for a new rig and build one myself once Ivy Bridge comes out and once I have enough dough. I'm hoping for something like a kepler-based Geforce 660 Ti to come out. That, 8 Gigs of RAM (Really cheap these days!) and the Ivy Bridge version of the i5 2500k would be a perfect build for my needs.

Posted

Here's my relevant system specs:

2 GB ram

250 GB HDD

Geforce 8600 GTS

AMD Athlon 64 x2 4200+ @2200 Mhz

About the most graphically intense game I can play is TF2, unfortunately. Forces me to use an Xbox for all the new games.

I'm hoping to buy parts for a new rig and build one myself once Ivy Bridge comes out and once I have enough dough. I'm hoping for something like a kepler-based Geforce 660 Ti to come out. That, 8 Gigs of RAM (Really cheap these days!) and the Ivy Bridge version of the i5 2500k would be a perfect build for my needs.

What OS are you using?

Posted

my first computer had less than 1 MB of ram and NO HARD DRIVE. as a matter of fact, it also had, no mouse, and the screen could only display one color at a time. but hey! it had games, and even a word processing program. I think I even have the original mega man around here somewhere. I may post a picture of it later tonight

Posted

I actually have three PCs I play MC with :)

The most used one is my work laptop (thinkpad W510):

quadcore (+ hyperthreading so 8 "virtual" cores) 1.6GHz/2.8GHz turbo i7 q720

8G RAM

nvidia quadro FX 880M/w1G vram (equivalent to GT 220, low end stuff in it's series from late 2009)

320G HDD

1600x900 17" screen

I use it the most because I can do it without getting out of bed :D

Next one is my gaming box:

quadcore Q6600 2.4GHz

6GB RAM

nvidia 5600GTX

cumulative of ~1.5TB HDD

22"+24" screens at 1680x1050 and 1920x1200

I use this one when I feel like sitting and not in bed or when I want to do stuff on big screen.

And lastly my little Gentoo Linux box:

dualcore E8200@ 2.66GHz

8GB of RAM

passively cooled nvidia 8600GT

cumulative HDD space of 5TB

1280x1024 19" screen + shared 24" with gaming PC.

This one is used for running the server and occasionally when I CBA to boot up other machines I also play MC on it using the shared 24" monitor.

[edit]

Forgot to mention that out of these three boxes the laptop is by far fastest for running MC. I generally turn everything to fancy + use far view distance and laptop can easily stay at 30-50FPS while the gaming box is almost half that, can't remember what the Linux ran at as I haven't used it for gaming for a while but it was about as good as gaming box IIRC.

MC must be really horribly coded to be that CPU-dependant. Yes, Java isn't the fastest thing in the world but it is possible to write good code in it as well.

[/edit]

I've got 150/10Mbit network at home and the Linux box is also hosting a ton of other stuff besides Tekkit (photos, family videos, personal wiki, remote access to my music collection, ...). I also use it as main box for programming.

I originally thought to upgrade to some monstrosity (2x 8-core CPU, 128G RAM, 10TB+ HDD + a few SSDs) and make it my photo timelapse editing rig but those plans moved to unknown future as an unexpected trip to Japan came up and it'll take a ton of my resources :D

Another thing I've been wondering for a looong time now is how might it be possible to get minecraft run on my N950 (the "real" thing, not pocket edition). Sure, the phone actually has no official support for Java and it's CPU isn't anything too good but theoretically it should be good enough I think. It even has more RAM than a few PCs listed here :D

Posted

Minecraft can't use all those cores anyway... if you think about it there would be no reason for it to be GPU dependent because there aren't many effects displayed, and the graphics that are need to be rendered by the CPU first...

Posted

Minecraft can't use all those cores anyway.[/quoet]I know and it's sad that it's coded that way. Though optifine with multicore support does help and nearly doubled the FPS on my laptop

Yeah, I believe the whole lighting calculation is done on CPU and GPU just draws plain-old textured triangles with no extra magic.
Posted

It's sad that it's coded that way.

Almost EVERY game is coded that way. It's not sad, it's the reality since there's not a way to make things multi-core and still efficient. The reality is that even if someone made a game that used all of 4 or more cores it would actually make it slower than if it used 1-2. Check out this thread on the bukkit forums to learn more about it. http://forums.bukkit.org/threads/make-bukkit-work-on-all-cores-to-fix-all-server-lag.44856/

Quotes from that thread:

It will be faster though, since a CPU can only do one calculation at a time. If you use 4 CPU's, it would in theory go 4 times faster.

Sorry, but this is not true. Many calculations depend on previous calculations (like lighting depends for example on redstone power cause redstone wires/torches change the light) so spreading them to all cores would slow execution down (locking overhead). Multithreading in bigger projects isn't that easy to code (it's not like bringing disk I/O to another thread, what minecraft already does).

Multithreading works well for a lot of applications, but is not trivial for games. Unless the code is structured incredibly well the locking overhead in multithreaded can eliminate any gains. Multithreading also makes games very difficult to debug.

-----------------------------------------

All the time spent converting to a multithreaded model with unknown performance gains/losses can instead be spent optimizing existing code. CPU time profiles can identify which parts of the code are most frequently used giving developers vital information on where to spend their time optimizing (why optimize a function that is infrequently used). This guarantees performance gains.

Posted

Almost EVERY game is coded that way. It's not sad, it's the reality since there's not a way to make things multi-core and still efficient

Of course it is possible but you have to design the game for it from grounds up. Proper multicore scaling can't be bolted on later on with spit and gum. I've written software that gets data streamed to it at around 70MB/s over LAN, massage it through a crapton of weird algorithms and display to screen with minimal delays while also logging the entire stream to sqlite database at same time. The whole thing ran on some crappy low-end dualcore laptop without a hitch, only if I wanted to run it in debugger I had to use a beefier quadcore. So yeah, I'd dare to say I do know something about programming multithreaded and effective stuff :)

The reality is that even if someone made a game that used all of 4 or more cores it would actually make it slower than if it used 1-2
That's not a problem with using multiple cores in general, it's a "feature" of the awfully coded minecraft. Proper algorithms are the key to everything. Memory layout and not doing pointless new Object everywhere instead of storing intermediate results is another. MC seems to be using the worst of everything.

If you don't get near-linear scaling with adding 4-8 cores you haven't used proper multithreading-friendly algorithms. It's not a problem with multicore being inefficient, it's a problem with lazy/stupid/bad programmers. Of course there is also the excuse that the app was good enough already so further optimization wasn't needed. As parallel programming is new to most people they don't want to use it and instead use as much of the "good-old" linear stuff that they've been using since forever.

Yes, locking is slow (not sure if Java actually supports having a lock active and run other unrelated threads during the lock or not. I know it was added to Python not too long ago) and that's why you shouldn't be using algorithms that require it. It is possible to build working queues with zero locks and no busyloops.

Many calculations depend on previous calculations (like lighting depends for example on redstone power cause redstone wires/torches change the light) so spreading them to all cores would slow execution down (locking overhead).
Yes, that would be a bad thing to do but that just shows things are coded the wrong way. Having lighting calculated one frame/tick behind redstone signals would allow to "double-buffer" the redstone data and thus eliminating any need for locks or other complex stuff to be able to parallelize things effectively. Also lighting is only one part of the load, there are tons of other things that are not blocking behind that that can be run simultaneously.

I haven't coded in Java for about 7 years and instead have been doing plain-old C++ instead. C++ gives you a TON more tools to write stuff efficiently and safely. I'd even dare to say that it's far easier to write non-leaking stuff in C++ than in Java as proper RAII is far easier to do with C++ exception handling, smart pointers and destructors than with Java finalize() functions. Also it's completely possible to write applications that have very little memory reallocation during runtime. Yes, you can't eliminate it fully but seeing MC memory usage go up and down by several hundred MBs in a few seconds is clear sign of something being terribly wrong somewhere. Also using future pattern makes quite a few parallel programming tasks almost trivial.

So to recap once more, MC is awfully coded and I fully blame it's creators in it's awful performance :)

[edit]

Reading more on the bukkit thread, all the talk about having to use locks for everything is a clear sign those people haven't really done half-decent parallel programming in their life and/or they are stuck in 10y+ old patterns and solutions.

[edit2]

And to whine some more about Java and VM-based languages in general :)

I'm currently working in a relatively big company writing software for enterprise-level mobile stuff, other teams are working on other stuff. When we occasionally bitch about how bad our stuff is then I'm hearing far more about memory management from the VM based stuff (Java and .Net) than from the C++ guys.

Properly written constructors-destructors and using smart pointers instead of raw ones pretty much guarantee everything will work in C++. In Java/.Net you need to manually free up anything on problems as you can't rely on the garbage collectors to do stuff for you. Also all the goodies of C++11 are just pure awesomeness.

If MC was written in C++ or at least supported addons written in it I'd be all over it in a heartbeat. Going back to Java after all those years is huge step back for me in terms of ease of coding.

Posted

What was Ilan321 banned for? I didn't really see him make any shitposts.

In the future, it's better to just click the username and search there recent posts, that way you don't have to wait for a reply from a mod or someone else. A mod recently made it very clear why he was banned, and showed multiple links, it took me all of 5 seconds to find.

But, because I'm nice, here's the post that got Mod Note'd:

MOD NOTE: One does not simply use stupid uncreative overused old unfunny memes on this forum.

Also you've made several low-effort posts today.

Scratch that, you're flooding our board with retarded shit. Enjoy your probation

Scratch the scratch, don't come back. Ever. So much shitposting in one day.

Posted

In the future, it's better to just click the username and search there recent posts, that way you don't have to wait for a reply from a mod or someone else. A mod recently made it very clear why he was banned, and showed multiple links, it took me all of 5 seconds to find.

But, because I'm nice, here's the post that got Mod Note'd:

It's a shame, he used to be a nice guyTM. No, really. I liked him, with his shitty computer :P

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...