Multicore support?

For something like Audio, it's easy enough to have it in a separate thread.

Other things, not so much.

It's very challenging to make any non-trivial program utilize N number of cores properly.

I've done it, but in hindsight it wasn't worth the effort.

"
zharmad wrote:
For everyone here who isn't experienced in coding and development, the decision to "multi-core" is typically something that has to be made in the early stages of programming. And unfortunately, the state of parallel-programming isn't easy to work with at the moment.

In any process that makes use of multiple processors you'd want to plan you program so that processors spend the least amount of time sitting idle waiting for others to finish - otherwise the extra performance you get is not worth putting in the extra effort (and it *is* a lot). A good way is to lay out everything you need to calculate and apportion them where needed. Then you want to figure out how to deal with spikes in the number of game objects, i.e. scenarios like carpet-bombing and dual-totems spawning ground objects.

I point out your particular case because of what skills like Arctic breath effectively requires of a game engine. A simple way to implement it (I'm not an expert in shortcuts) is to create ground ice "objects" as the projectile flies - each time going to memory and creating data there. So the game ends up with, say 4 times the number of things it has to keep track of compared to 95% of gamers/situation.

So, until the coding complexity situation improves, for small teams it's just easier for them to deal single-core and make sure 95% of the time it's playable. One doesn't want to expend the extra time making sure the game runs off N-processors if it's not strictly needed most of the time - and unfortunately you can't just ask for more processors when you expect an incoming carpet-bomb.


Oh noes, is it too hard for the little devs to code it into the game? Well that's too bad, I'm assuming they plan to make money off the game and if they expect said money they will need to work for it. Not this "Oh it's just too much effort" bullshit.

That said...maybe they didn't do it for a different reason, instead of just being lazy?
"

That said...maybe they didn't do it for a different reason, instead of just being lazy?


It's not an issue of just being lazy. It's really hard to do that as many pointed out.
Just even the compilers/library support for multi-threading is bleak at best.

Mutexes as solution are joke. You can get to dead-locks with them, forget to put them in correct places, etc... With such a bleak support from even multi-threading libraries, it's really really hard.
Just look at some specialized forums dedicated to doing things in multi-threading and you will immediately see overwhelming number of problems being thrown at you.
MY CHALLENGES ARE DONE ON HC, IT'S NOT SC GUYS!
Hooray for thread necromancy. Any optimization has to be worth the developer hours. Multithreading often costs a ton of developer hours and if the problem doesn't lend itself to being split up into lots of smaller tasks, the performance gains will be negligible.

Also, the example given in the OP sounds like GPU strain rather than CPU. He was using arctic breath which is very intense graphically but probably doesn't effect the game's simulation much more than other projectile spells.

Report Forum Post

Report Account:

Report Type

Additional Info