To hell with high-poly models
Moderator: Moderators
To hell with high-poly models
I'm running a nice 2600+ AMD processor with a good amount of RAM and a nice graphics card. However, Spring totally kicks the whole system into the grave, already with EvOTA models. Already at about 200 unitcount (approx), I was induced with severe lag upon my unit orders (the game started completely fine). At 400, the order delay was immense and just before I reached 500, which was the set unit limit, I completely lost control over all my units. I could run around with the camera as much as I pleased, but every and any order I would give to units, plants and everything else was blatantly ignored. I had the best friggin army in the world, but no control of it whatsoever, besides the pre-defined orders that I left before. My opponent, Kosak, could play just fine from his end and he tried to attack me a bit, but had to go.
Obviously, this isn't supposed to happen. Also, I am sure that this happens because of the insane quantity of RAM this game surges from my system, at least partly induced by the sheer amount of polygons that the game has to control. To those that tried or are making 2k facecount models for spring: NO.
Obviously, this isn't supposed to happen. Also, I am sure that this happens because of the insane quantity of RAM this game surges from my system, at least partly induced by the sheer amount of polygons that the game has to control. To those that tried or are making 2k facecount models for spring: NO.
If you could still move around the camera the problem was not cpu/mem/gpu but rather network. And since high poly models doesnt require extra bandwith it wouldnt have mattered if they where high or low poly. (although the network could of course have been lagged because the other side (the host) was bogged down but it doesnt sound so from your description)
I've played with 430 units fine, on a computer that isn't top notch (Windows 2000 Pro, Althlon XP2200+ 1.8GHz, 1024MB RAM, DirectX 0.9c, ATI Radeon7000 with 64MB).
http://zwzsg.hosted.luckz.de/img/spring/screen60.jpg
http://zwzsg.hosted.luckz.de/img/spring/screen08.jpg
There was no big lag, I could control as much as I want, hop in hawks and fly around, etc... And in other games, right from the start my order to the commander were delayed by several seconds. So I don't think it's a polycount. But what really lag me, even in games other than spring, is the smoke. I wish there were settings to turn it low or off.
http://zwzsg.hosted.luckz.de/img/spring/screen60.jpg
http://zwzsg.hosted.luckz.de/img/spring/screen08.jpg
There was no big lag, I could control as much as I want, hop in hawks and fly around, etc... And in other games, right from the start my order to the commander were delayed by several seconds. So I don't think it's a polycount. But what really lag me, even in games other than spring, is the smoke. I wish there were settings to turn it low or off.
If you can still move the camera around fine, it has nothing to do with poly count.
It does have to do with the netcode and pathfinding's ability to handle large numbers of units.
For example, when playing Warcraft III, if there are over around 500 units in play at once, if you have all of them move at the same time, if you try and give an order, it will take about ten seconds for it to actually take effect, yet your framerates will still be just fine.
It does have to do with the netcode and pathfinding's ability to handle large numbers of units.
For example, when playing Warcraft III, if there are over around 500 units in play at once, if you have all of them move at the same time, if you try and give an order, it will take about ten seconds for it to actually take effect, yet your framerates will still be just fine.
-
- Posts: 578
- Joined: 19 Aug 2004, 17:38
Well, seeing as Spring automatically drops the game speed when there's too much calculations going on, even +5 speed shouldn't be a problem. Btw, I was able to get around 300 Avengers (my own avengers, with around 400 quads and custom jet trails) at normal speed with no big slowdown. And I have a GF4800SE(working on 4x AGP), a 2Hz P4, and 512 megs of RAM. That was also in singleplayer, and I had about a hundred Shadows following them in an attack against an Arm base with a lot of fighters and MTs. The game occasionally slowed to 0.7, but the action was so heavy that I didn't notice the difference.
-
- Posts: 436
- Joined: 26 Aug 2004, 08:11
-
- Posts: 201
- Joined: 30 Apr 2005, 01:06
This is weird, because I could nearly stop the game in single player with a mere 200 units (mostly airplanes) on an Athlon XP at 2.3 GHz with 512 Mb of DDR266 (it sucks), for testing purposes. Of course, about 150 of them were constantly moving and/or firing projectiles, but I could certainly not reach even 250 units at the same time. Actually, Spring is the best hardware test bench I know, as I had to tweak my config in order to avoid screen freeze. I doubt it was the polycount that was the cause for the lag. Looking at the CPU time spent at the same time, it appeared that up to 65% of the time was spent in the "Sim time".
I don't know what the Sim time is supposed to do. Is it the scheduler ? Is it the script engine ?
Anyway, looking at the code, there is probably room for small optimizations in a lot of places (that's more or less what I'm doing at the moment), but optimizing central algorithms like the pathfinding is another matter.
I don't know what the Sim time is supposed to do. Is it the scheduler ? Is it the script engine ?
Anyway, looking at the code, there is probably room for small optimizations in a lot of places (that's more or less what I'm doing at the moment), but optimizing central algorithms like the pathfinding is another matter.
Last edited by el_muchacho on 14 May 2005, 22:42, edited 3 times in total.
I think it's pathfinding. If you have X number of units moving, and each unit consumes Y cpu cycles to determine paths then you have an exponential increase in CPU cycles needed.
Y^X cycles. Why not XY? Because each cycle is it's own entity, so unit X1 has it's own path which doesn't share to X2, so the two can't be added together.
So, optimizing the pathfinding is key here. Obviously the machine can handle the drawing of the screen as you can move the camera around, but unit lag should be focused on what those units are doing.
Lets not forget COB threads.
-Buggi
Y^X cycles. Why not XY? Because each cycle is it's own entity, so unit X1 has it's own path which doesn't share to X2, so the two can't be added together.
So, optimizing the pathfinding is key here. Obviously the machine can handle the drawing of the screen as you can move the camera around, but unit lag should be focused on what those units are doing.
Lets not forget COB threads.
-Buggi
-
- Posts: 578
- Joined: 19 Aug 2004, 17:38
A sim frame is a total update of everything you see on your screen. I don't know what your problems are, but even though I finally figured how to make my video card display shadows (which it wasn't supposed to), and even though I made the water go up and down with the tides, I have little problem running a hefty lot of units on my comp. I have no idea what causes the severe slowdowns you describe. Try setting texture size back to normal. Or turn off high-res clouds. Or set unit LOD a bit lower. Or something...
It seems I forgot a "not" somewhere there.Storm, if you have 256 Mb of RAM, don't go saying you have a good amount of it :)
Bastard.... stops talking as he looks at his 2 Gb RAM machine to his right...
This night, I'm gonna set your underwear on fire.
Now, I didn't have any moving armies, all combat units were piled up here and there. However, I had about 20 naolathing farks and easily more than 40 Adv. construction planes doing the same. Also, it didn't feel like "normal" lag where the game slows down. Everything ran just fine, except that all my orders were ignored. Damn rioting army. When Kosak attacked, it all went just as normal. Things shot at each other just like they should... Right now, I'm completely clueless to what the hell happened. I couldn't even enter chat messages...
Heh, this isn't the first time I break an engine to suffer errors no one ever could imagine. Zwz could tell about our TA:FF matches...