Questions for the devs.

Questions for the devs.

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

User avatar
smoth
Posts: 22306
Joined: 13 Jan 2005, 00:46

Questions for the devs.

Post by smoth »

Ok, if I recall correctly spring has 3 areas that cause major slowdown:

Pathfinding
unit simulation
features

correct?

It is my understanding that if a SM3 is rendering >5 texture layers the game slows down?

Does Sm3 support features yet? If so, does the SM3 feature usage also cause slowdown?
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

for what I know, SM3 support features (check the app hughperkins made in the mapping section). It's a lot faster than SMF. Setting texture stage lower .. well.. is still pretty acceptable. Check it out for yourself.
monohouse

Post by monohouse »

I don't like this, I don't like this at all, I don't like the idea that people have questions like these, I think that we urgently need a place to write the current spring major slowdowns/bugs.

up until now I thought there were only a few but now there is a whole list, and no one is working on these things.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I don't like this, I don't like this at all, I don't like the idea that people have questions like these, I think that we urgently need a place to write the current spring major slowdowns/bugs.
lolling irl

You may ask performance questions constantly but others may not?
monohouse

Post by monohouse »

unimportant ? I am asking unimportant questions ? well you could have used Java for spring but you didn't.....

because I thought that spring would prefer to be in this priority order :

1. stability (bugs)
2. performance
3. features

correct ?

btw assuming tobi will assist me to get my spring SVN to compile, you will have alote more questions and they are going to be ^2 at least in detail and amount :evil:
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

So I better don't help you :twisted: j/k

Anyway, to get the facts straight, number 1 bottleneck in spring is CQuadField (as shown by 2 or 3 profiles I ran in the past).

For the rest it doesn't make sense speculating what is slowest etc.: compile spring in profile mode, play with it a bit (might even try online, not sure that'll work / be playable tho), and look at the top 5 slowest functions in the profile results... good chance CQuadField::GetUnitsExact or some other CQuadField function is at the top.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Smoth can you code assembly or something?
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Spring doesn't need people writing assembly though :)
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

No? I thought that was the way to speed up computationally intensive code. That's what they did in another open source program I used.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

You first have to get the maximum out of improving your algorithms and memory use (better for cache), and that hasnt been done yet. You lose a lot of code readability and portability with asm.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Coding assembly at this stage is sheer lunacy. Optimization has to be approached in steps.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

What do I know? :P
User avatar
smoth
Posts: 22306
Joined: 13 Jan 2005, 00:46

Post by smoth »

Monohouse, have a bit of respect for the devs please. They do what they can, this project is pretty big and it does have it's share of issues. I have been around for a while and am aware of these things being listed throughout my time here. I am not even going to start on the Java comment. However, I may ask questions, at least I am doing something around here, maybe I need the answers so I can get some stuff done? You know some of us contribute... Hey, it is ok, we cannot all jump in other people's threads and derail them like you feel the need to.

LordMatt, I am senior student of computer science. I took assembly. Asm would mean mean system specific code which means no cross platform(portability) anything.

Tobi, that still leaves my question about the features unanswered. I recall one of your fellow devs (I believe JC) saying the features do in fact run slowly.
monohouse

Post by monohouse »

what is the CQuadField class what does it do ?
btw what does derail means ?
User avatar
smoth
Posts: 22306
Joined: 13 Jan 2005, 00:46

Post by smoth »

derail is in reference to a train. I means that you are taking the thread somewhere that it is not supposed to go... so what I meant was that the questions I was asking were adressed to the DEVS for a reason. I need answers to them for a reason. However, you were bringing the subject off topic. That is what I meant by derail.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Ok did some more tests and it wasn't really CQuadField that's slowest in this case.

For a test 20 gametime minutes nanoblobs random enemies 2 at speed 10 on Nano Arena, most gfx max except water the profile is here (warning, 4.3 meg text file, no point downloading it unless you have brainzorz and l33t coding skillz) http://www.osrts.info/~tvo/spring/profi ... mies_2.txt

Another test 5 kroggies vs 2 doomsdays, some complosions, and 100 flash vs 100 flash fight, XTA v8.1 on SmallDivide (again 4.6 meg, so don't download unless you're sure it's useful for you).
http://www.osrts.info/~tvo/spring/profile_xta_test.txt

Because of this I realized the only proper results are after running the profile on a number of replays of real games and averaging the results. Maybe I'll do something like that sometime.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

monohouse wrote:unimportant ? I am asking unimportant questions ? well you could have used Java for spring but you didn't.....

because I thought that spring would prefer to be in this priority order :

1. stability (bugs)
2. performance
3. features

correct ?
...
Why are you no longer suporting the idea that Spring should have been writen in Assembly?
monohouse

Post by monohouse »

I didn't say assembly, and I didn't say .NET or Java, what I did say in other words is "why .NET is used for osrts ?" because I thought that osrts was trying to be a better spring as in better performance and you can't do that with .NET.

and I thought that stability and performance are the primary issues, and that was a question mark there too...

im not here to do damage, im trying to improve spring AND osrts, but it appears that some "smart" people do not understand that.
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

monohouse wrote:... osrts ... I thought ... it appears that some "smart" people do not understand ...
1st: derailing again, twice in a thread with just 18 posts, quite an accomplishment!
2nd: stop, thinking, really. Ur thinking wrong.

Now back on topic! Any replies in PM plz..

tobi, what seems to be the slowest process?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

BvDorp wrote: tobi, what seems to be the slowest process?
Cant really say atm:
Tobi wrote:Because of this I realized the only proper results are after running the profile on a number of replays of real games and averaging the results. Maybe I'll do something like that sometime.
Post Reply

Return to “Engine”