Multi-threaded Spring needs more priority

Multi-threaded Spring needs more priority

Post just about everything that isn't directly related to Spring here!

Moderator: Moderators

User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Multi-threaded Spring needs more priority

Post by Caydr »

AMD is upping the ante to 6, and shortly after, 12 cores per CPU... starting this summer iirc. Intel won't be far behind, if behind at all. There's talk of 64-core processors within 5 years in the rumor mill. When the processor-related calculations are the #1 thing holding Spring back, and you've got 5, then 11, then 63 other cores completely idle save for OS-related things, you need to refocus your priorities away from "it would be nice if..." things to "give the average person a higher framerate than they get in Crysis".

I've amply demonstrated in the past that the GPU is basically idle compared to all the work the one poor core does. GEM betas get the same framerates as AA, despite a hundredfold increase in both geometric and texture detail, and this remains the same even as you reach the 500-unit level. And it's not as if this is all because I've got some godlike computer - my GPU is roughly on a par with other, more modern GPUs, which cost less than $200.

I'm totally confident there are ways of offloading things onto other cores that haven't been explored, besides just rewriting the engine from scratch and other doomsday scenarios certain devs tell us are coming if we want more modern code. We're adding more and more "extras" to the code, which is just increasing the eventual difficulty of the process of making the game multi-processor compatible.

It's going to be ugly no matter how we look at it, but it's going to be a lot uglier come 5 years from now when we've got CPUs sitting 98.4% idle and the game still running at 15 FPS or something if you try to move more than a few units at a time.

We're at a state now where no matter what upgrades you buy, and regardless of how much money you spend, Spring cannot run faster. The entire game is held back by the CPU, and CPUs don't seem to be getting faster, they're just getting more cores.
Last edited by Caydr on 19 Apr 2008, 22:06, edited 1 time in total.
Gnomre
Imperial Winter Developer
Posts: 1754
Joined: 06 Feb 2005, 13:42

Re: Multi-threaded Spring needs more priority

Post by Gnomre »

Excellent job reading the development forum
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Multi-threaded Spring needs more priority

Post by Caydr »

I do not read the dev forum on a daily basis, so I can only go by what I see happening there at this moment, and the direction the engine has been heading over the course of the last year or so.
Image
Moreover, upon checking the changelog - which, as I understood it, was designed for logging changes - there has been nothing done in this direction since the last version was put up: http://spring.clan-sy.com/websvn/filede ... rev=0&sc=0

I have only my eyes to guide me and I do not, at this moment, see anything which is readily-apparent to do with multithreaded development. Of course, it would have to be readily apparent because I am a talentless hack. As I do not wish to intrude upon intelligent discussion, I posted here rather than the development area. I do not know the jargon of this sort of thing, so I do apologize if I've wasted your time by forcing you to read my thread, especially as I have posted it in this den of trusted knowledge and intelligent debate.
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Re: Multi-threaded Spring needs more priority

Post by SinbadEV »

What Caydr Said minus the drama +1
tombom
Posts: 1933
Joined: 18 Dec 2005, 20:21

Re: Multi-threaded Spring needs more priority

Post by tombom »

SMP = multi threading
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Multi-threaded Spring needs more priority

Post by lurker »

Also, look at the actual commit log and you'll see a branch dedicated to mulitithreading.
I am looking forward to these 128 core processors.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Multi-threaded Spring needs more priority

Post by Caydr »

I do get dramatic sometimes, don't I. I feel frustration when people reply to long, thoughtful posts with a single line of incorrect and unhelpful text.

"Commit log" is too complex for my feeble, chimpanzee-like brain. I am but a layman, and not a very bright one at that. Were I a tool, I would probably be a hammer, a blunt instrument only good for nailing. Do we no longer use the changelog?
User avatar
rattle
Damned Developer
Posts: 8278
Joined: 01 Jun 2006, 13:15

Re: Multi-threaded Spring needs more priority

Post by rattle »

For public releases, yes.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Multi-threaded Spring needs more priority

Post by Caydr »

If it is only for public releases, why does the changelog currently contain some changes for the next version? Not saying you're wrong, but it's very misleading for something so important to only be used *sometimes*. I thought the devs would either use it or not use it, not somewhere in-between.

Historically the changelog has been updated as progress is made... many of you perhaps weren't around back then, but I relied on it to allow me to have AA use the latest features immediately after a new release was made, sometimes even having features built-in to a release which the engine wouldn't recognize until the new version was out.
User avatar
rattle
Damned Developer
Posts: 8278
Joined: 01 Jun 2006, 13:15

Re: Multi-threaded Spring needs more priority

Post by rattle »

You're welcome to help keeping the changelog up-to-date, or tricking someone literate into doing it with false promises/free candy etc.
User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Re: Multi-threaded Spring needs more priority

Post by REVENGE »

It seems that this is being actively worked on in the dev forum, though I wonder how many devs actually continue to work on Spring engine code in the first place... :?
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6241
Joined: 29 Apr 2005, 01:14

Re: Multi-threaded Spring needs more priority

Post by FLOZi »

Once again, Caydr proves his incredible intelligence.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Multi-threaded Spring needs more priority

Post by Caydr »

"Multi-threaded Spring needs more priority"
not
"Multi-threaded Spring needs to be started"

Once again, FLOZi proves his incredible intelligence.
(note that my starting post has not been edited in hours, so no, I didn't change it)

Yes, "Multi-threaded Spring needs more priority" is the topic title, and that's what it's about. Needing more priority. It could have half the dev team working on it, it could have 1 person working on it, but in my view, as I have not seen any visible evidence that progress is being made since it was initially discussed quite a long time ago, I believe it needs to be a higher priority. After asking several of my MSN contacts if they had heard anything recently about it, and periodically checking the dev forum, this is the conclusion I came to.

REGARDLESS of whether it's being worked on, my point is it needs to be considered a priority, a "Blocker" issue, something that must not be forgotten in the way that things like the UI, useless/broken tags, and a dozen other things have been left behind.

Don't say that just because I'm not omniscient I'm dumb. There is no timeline or roadmap for this project - THAT I CAN EASILY FIND - so it might as well not exist even if it does. How am I supposed to know that something's being actively worked on if the only people who know are the ones that are "on the inside"? There's no "here's what's going on", no "here's what's happening in the next version", no "here's what we want to do in the future", no "here's the sort of people we're looking for". How can we attract developers and expand as a community if there's no way of knowing what's going on?

Just where the heck do you think this project is going if the only way to know what's happening tomorrow is based on whether or not some random developer decides he wants to do something or not? Where do you see us in a year if the only things that get worked on are things people think would be nice? People show up and say, "hey look at this thing I made". That's nice, and a lot of cool stuff has come to Spring that way, but would it not be more constructive if that effort was directed at something that's an actual need, not a want?

Do you get what I'm saying here or is this going to be fodder for another cheap "caydr's dumb" joke anyone could come up with? "let's ignore his ideas because they are inherently inferior, he let his mod go to shit lol" Is it going to be fart jokes next? Is this really the best you can come up with in a thread about a serious topic like this? How can there be anything but unanimous agreement on something like this?
[Krogoth86]
Posts: 1176
Joined: 23 Aug 2007, 19:46

Re: Multi-threaded Spring needs more priority

Post by [Krogoth86] »

Well I support the request for more changes on the actual performance. I would take another step though:

It shouldn't be just about multi-threading but if you're at it you might want to rethink certain parts. With that said - yeah you could give the particle effects an own thread but it would make much more sense to make them calculated by the GPU in the first place. So go ahead and make what I think Argh was talking about in another thread and that is do a new, alternative particle (etc.) system which uses the GPU. Would be wonderful if the recent CEGs could be converted somehow but if not then not. It's just about getting more modern and not continuing to build on top of a tech-standard from 1997...

That way features like Keyframe / Bones Animation & stuff (all GPU calculated) should make it into Spring as I think things like that are pretty important features especially when not looking at TA-like mods with big Mechs & Tanks running around but at things with organic units (not only would more complex animations just not look good but also creating them is a pain with the current system)...

I'm glad to see at least some small steps in that direction being taken like zervers SMP approaches and that integration of the Horde3D renderer (although I don't know if that's still being developed)...
User avatar
Ixoran
Posts: 60
Joined: 09 Apr 2008, 06:22

Re: Multi-threaded Spring needs more priority

Post by Ixoran »

Caydr is DUMB!
Kidding, But man, Multithreading started a month ago almost, and I caught the thread in like two days.
They gave it a SVn branch... and everything.
It's even slated for .78 I think...
You can even test it.

The problem is, A lot of the engine screams "DON'T FREAKING THREAD ME! I'LL REBEL AND CRASH UP EVERYTHING" So devoting half the team (Especially when not everyone on the team may even know how to thread) is a waste.... I mean, I'd rather have one person working on it, and the rest of the team fixing everything else.

Zerver seems to know what he's doing, the Dev team is helping him a good deal, and he' s making quick progress.
User avatar
SwiftSpear
Classic Community Lead
Posts: 7287
Joined: 12 Aug 2005, 09:29

Re: Multi-threaded Spring needs more priority

Post by SwiftSpear »

Spring doesn't really have the luxury of forcing developers to do stuff for us. We can call something "priority" but that doesn't actually make any developer start working on it.

As Ixoran stated. It's not an issue of man power. It's really an issue of expertise. Coders take projects based on how well they can complete them. We have someone working on SMP right now, and they are doing a good job... and while I'd love to have a bigger team working on it, it's simply not reasonable to try to make people with a poor understanding of threading stop working on things they actually can contribute to the project, and enjoy doing, so they can beat their head against a brick wall doing something they don't understand.

That's why this project has wish lists instead of roadmaps.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Re: Multi-threaded Spring needs more priority

Post by Caydr »

Have you considered making a "Jobs" page? Someone who comes here isn't going to know "SMP" means "multi-threaded spring project", for instance, so they might not know that their expertise is needed. I think the engine development in general needs a lot more transparency in that way... Even if you're only going to have wish lists, they should be more easily visible, not buried in a thread somewhere.
rattle wrote:You're welcome to help keeping the changelog up-to-date, or tricking someone literate into doing it with false promises/free candy etc.
I just might be willing to do that soon. I've been nagging for the weekend shift for the last 6 months, and my benefactors tell me the day is close at hand. :roll:
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Multi-threaded Spring needs more priority

Post by lurker »

Ixoran wrote:It's even slated for .78 I think...
That has so little meaning I heartily approve!
User avatar
Felix the Cat
Posts: 2383
Joined: 15 Jun 2005, 17:30

Re: Multi-threaded Spring needs more priority

Post by Felix the Cat »

Caydr wrote: Someone who comes here isn't going to know "SMP" means "multi-threaded spring project", for instance, so they might not know that their expertise is needed.
If you don't know that "SMP" = "multi-threading", then your expertise is probably not needed in that department.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Multi-threaded Spring needs more priority

Post by imbaczek »

Well IMHO if you don't know that SMP==multithreading, you aren't qualified to do either. Converse is not true.
Post Reply

Return to “Off Topic Discussion”