MMO hardware optimizations (Or lack thereof)

Flipmode

EQOA Refugee
2,091
312
Why don't most modern era MMOs fully support multicore CPUs and GPUs? Games like EQ2 and WoW can be forgiven because they were created in an era where only single core high clock speed CPUs were the norm. But recent MMOs have been terrible at implementing new technology. DX 10/11 clients are always delayed, most don't use physics or anything.

I'm sitting on SLI 570s and have no reason to upgrade for the foreseeable future. I only play MMOs and RPGs on my computer and nothing is even stressing my system. I was playing the FFXIV beta and they don't even support SLI. Shouldn't true multicore support and SLI/CF support be STANDARD in today's games at the bare minimum?
 

Neranja

<Bronze Donator>
2,605
4,143
Because true parallel programming (as in utilizing multiple cores) is hard to do: most widely used computer programming languages are ill-suited for parallel programming and not every task is even suitable for parallelization. Programmers have to be extra careful when multiple threads access the same data and have to make sure there are access protocols in place when two cores want to work with the same data.

In most of these cases programmers serialize access in data with semaphores and mutexes. These in turn decrease the gain you get out of parallelization (someone has to wait and do nothing), and in some cases (with small data sets or global locks) may even incur a performance hit in comparison to a single-threaded application because of all the management overhead.

Debugging errors in such programs can be a real pain in the ass because of all the added complexity:
http://en.wikipedia.org/wiki/Dining_...ophers_problem

Most game engines process a relatively static data set (textures, geometry, UI) and do little to no heavy computation with that data (except object positioning and maybe inverse kinetics for animation, which may as well be static animations). There is also absolutely no gain in pre-computing additional frames, as most of the heavy lifting is already done on the GPU today.
 

Kharza-kzad_sl

shitlord
1,080
0
You should get it in console ports like skyrim, mainly because there's no way to get a decent game running without heavy threading on a console. The price you pay is latency, often updates can be delayed a frame or two as things are off cooking on a thread.

A for instance here is like the player's update cycle firing off a spell. The next frame the spell actually casts as the spell stuff is on it's own thread. When it eventually explodes, it affects the enemies a frame later, because they also update at the same time. When they die they also explode, which can affect other enemies a frame later and so on.

MMOs tend to aim really low hardwarewise. That means dx9 and 2.0 vert and pixel shaders.

Speaking of it, I want to see more of this stuff:http://blogs.amd.com/play/tressfx/

I'm guessing it only works on a high end amd though. I'm using nvidia for cuda for 3dcoat right now.
 

Denaut

Trump's Staff
2,739
1,279
Not only do MMOs aim for a more general audience, and thus low requirements, but also much of what your CPU would handle is instead processed on the server, and then sent to the client.
 

mkopec

<Gold Donor>
25,389
37,457
When Planetside 2 was in the last stages of beta, there was a lot of discussion about core utilization on the forums. People were bitching that for a CPU heavy game like PS2, why was it not utilizing more than 1 or 2 cores. I could be wrong because Im not following PS2 anymore, but to this day I dont think they ever solved the issue they were having with utilizing all the cores. They just could not get it to work without breaking everything.
 

bytes

Molten Core Raider
957
638
I'm sitting on SLI 570s and have no reason to upgrade for the foreseeable future. I only play MMOs and RPGs on my computer and nothing is even stressing my system.
Isn't it pretty much always the exacte opposite? Many games tend to stress your setup, even if they shouldn't; but the games aren't optimized and don't make proper use of your hardware.
 

mkopec

<Gold Donor>
25,389
37,457
LOL, thats funny that he spent $400-500 for that setup when he only plays mmos. He could of got by with much, much less. Its like bringing a Corvette to a rickshaw race.
 

Noodleface

A Mod Real Quick
37,961
14,508
People seem to think that this is much easier than it actually is! Not to mention not everyone is running multi-core setups. It would require two separate code bases for games.
 

Balin

Bronze Knight of the Realm
38
0
People seem to think that this is much easier than it actually is! Not to mention not everyone is running multi-core setups. It would require two separate code bases for games.
*facepalm* Yes, it's hard. Neranja explained it really well. No, it would not require multiple code bases. That's absurd.
 

Flipmode

EQOA Refugee
2,091
312
LOL, thats funny that he spent $400-500 for that setup when he only plays mmos. He could of got by with much, much less. Its like bringing a Corvette to a rickshaw race.
Actually, single player RPGs are a lot more demanding graphically. The witcher, skyrim etc push my system pretty hard so I'm guessing it wasn't wasted money after all.
 

Flipmode

EQOA Refugee
2,091
312
Isn't it pretty much always the exacte opposite? Many games tend to stress your setup, even if they shouldn't; but the games aren't optimized and don't make proper use of your hardware.
Yes and no. Games like EQ2 only cared about clock speed an thus never stressed more than 1 core of a multicore CPU and barely used any of my graphics card because their engine used the CPU to process shadows etc. Newer games like Rift and AoC made more use of the graphics cards but did t have sli support for a long time and didn't properly utilize multiple cores of a CPU.
 

90Proof_sl

shitlord
51
0
*facepalm* Yes, it's hard. Neranja explained it really well. No, it would not require multiple code bases. That's absurd.
I do not program, but wouldn't you need one set of code for 32bit Win and another for 64bit? Or do you use one code base and let the compiler figure out all the optimizations?
 

Tmac

Adventurer
<Gold Donor>
9,293
15,763
Take a look athttp://store.steampowered.com/hwsurveyto get an idea what crappy hardware people are running.
Which is why, in every thread I post on in these forums, I mention at least once, that the main reason WoW was sosuccessfulis because if you have a computer, chances are you can play WoW flawlessly. Go go integrated video cards.

http://store.steampowered.com/hwsurvey/videocard/20% (and growing) of players are using integrated graphics. By developing games that aren't playable on these machines, devs are alienating 20% of their potential user base, which is, STUPID.
 

kegkilla

The Big Mod
<Banned>
11,320
14,738
Which is why, in every thread I post on in these forums, I mention at least once, that the main reason WoW was so accessible is because if you have a computer, chances are you can play WoW flawlessly. Go go integrated video cards.

http://store.steampowered.com/hwsurvey/videocard/20% (and growing) of players are using integrated graphics. By developing games that aren't playable on these machines, devs are alienating 20% of their potential user base, which is, STUPID.
do you pay for your WoW sub with food stamps? serious question.
 

Balin

Bronze Knight of the Realm
38
0
I do not program, but wouldn't you need one set of code for 32bit Win and another for 64bit? Or do you use one code base and let the compiler figure out all the optimizations?
You have to write the source such that the compiler can create valid 32 or 64 bit code from it, but yeah the compiler does the heavy lifting.
 

Neranja

<Bronze Donator>
2,605
4,143
Yes and no. Games like EQ2 only cared about clock speed an thus never stressed more than 1 core of a multicore CPU and barely used any of my graphics card because their engine used the CPU to process shadows etc. Newer games like Rift and AoC made more use of the graphics cards but did t have sli support for a long time and didn't properly utilize multiple cores of a CPU.
The EQ2 engine comes from a time where the developers still thought that more detailed models (as in more vertexes/polys) is the way of the the future, and (i believe) all model data on that engine had to go through the CPU. Advanced GPU features as geometry shaders or even dynamic tesselation were features unheard and undreamed of. Because there are diminishing returns on having ultra-detailed models (polygons that are rendered as 1 pixel or less on screen are just computational overhead), most modern graphic engines get that realistic rendering done with medium poly counts and detailed textures and complex shaders.

Also, MMO engines tend to be a somewhat different beast as single-player RPG engines: Because you can't reliably predict how many poeple are going to be on screen at any moment you can't really estimate how many GPU ressources can be spent on world and assets. Especially when your engine has to scale from a 5 year old computer (that wasn't even state of the art then) to next years ?ber-hardware.

The real kicker on MMO engines is that everyone wants to look really different from the next avatar, therefore the engine has to manage all those models and textures for weapons/armor/pets--and load and render them at the same time when you are somewhere in town where people like to show off their gear. MMO engine load estimation is done for those load peaks and not when you are alone in the world killing stuff.
 

nu_11

Golden Baronet of the Realm
3,057
19,945
Neranja, thanks for the valuable information. However, if I may add one clarification...

MMO engine load estimation is done for those load peaks and not when you are alonecollecting bears' asses
 

Underjoyed_sl

shitlord
66
2
do you pay for your WoW sub with food stamps? serious question.
Has nothing to do with food stamps. Haswell is going to boost ultrabook sales as well as ultrabook-tablets like the Surface Pro or Razer Edge. Lots of business people that want a portable solution are not going to pack a 100lb water cooled desktop casket. Those days are over. Me and lot of my friends are dumping a closet full of electronics (desktop, laptop, ultrabook, tablet, etc) and moving into a single solution set-up. The future is small and portable EVEN for gaming. It will be advantageous for gaming companies to cater to those that use the latest technology when it comes to portable solutions (haswell). The days of people buying desktops or desktops dedicated to gaming are over. Maxwell could be the greatest thing ever but nobody I know gives a crap anymore about a 1? long video card weighing 10lbs in a 100lb system.