S3O Drawing efficiency. 56K BEWARE.
Moderator: Moderators
S3O Drawing efficiency. 56K BEWARE.
Okie doke devs... I now have explosions for S3O, so I've been doing some simple comparasion testing.
People have been complaining about the performance of NanoBlobs since 0.3 was released.
I am running Spring on a machine with a nVidia GeForce 7800... and even with all settings turned DOWN to the lowest settings, I get about 10 FPS when we pass the 300 unit mark or so. But the CPU meter says that the load is only about 50%, maybe 60% when a huge battle is taking place. So it's not the CPU.
I never have more than maybe 40 models on the screen at once- maybe 60,000 polygons, trivial by today's standards... no reflections, no shadows. Sure, I'm running at a high rez, but that shouldn't be doing it.
So, what's dragging down the FPS? I get 72 with just a Lord, even if I have dynamic water on... I get 10 FPS with 400 units, even if the CPU load is 50%, I have plenty of RAM free, and I am zoomed in as far as I can go, in a quiet area of the map.
Can anybody explain what's going on here?
People have been complaining about the performance of NanoBlobs since 0.3 was released.
I am running Spring on a machine with a nVidia GeForce 7800... and even with all settings turned DOWN to the lowest settings, I get about 10 FPS when we pass the 300 unit mark or so. But the CPU meter says that the load is only about 50%, maybe 60% when a huge battle is taking place. So it's not the CPU.
I never have more than maybe 40 models on the screen at once- maybe 60,000 polygons, trivial by today's standards... no reflections, no shadows. Sure, I'm running at a high rez, but that shouldn't be doing it.
So, what's dragging down the FPS? I get 72 with just a Lord, even if I have dynamic water on... I get 10 FPS with 400 units, even if the CPU load is 50%, I have plenty of RAM free, and I am zoomed in as far as I can go, in a quiet area of the map.
Can anybody explain what's going on here?
Last edited by Argh on 06 May 2006, 08:26, edited 1 time in total.
Re: S3O Drawing efficiency.
Do you per chance have a hyperthreading cpu (i.e. a p4)?
Because then 50% cpu load would mean 100%
Because then 50% cpu load would mean 100%
- Drone_Fragger
- Posts: 1341
- Joined: 04 Dec 2005, 15:49
well, I'll test my results later this evening.
But when I loaded your sheep, I was kinda shocked about the number of poligons, taking in account you are going to have 100-300 of them a player. And the other models shouldn't be very low poli as well. (the lord may ofcourse, since you only have one. and a players doesn't have a legion of square rooks or factories).
Aslo, how large are the textures? They arn't slowing the FPS, but do cause the slight chop you have wehn first placing a unit.
But when I loaded your sheep, I was kinda shocked about the number of poligons, taking in account you are going to have 100-300 of them a player. And the other models shouldn't be very low poli as well. (the lord may ofcourse, since you only have one. and a players doesn't have a legion of square rooks or factories).
Aslo, how large are the textures? They arn't slowing the FPS, but do cause the slight chop you have wehn first placing a unit.
hmm, XE8 on nanoarena v2 can produce about 8 squarerooks in the space of a minute around the 10 min mark if it isnt stunted by the 3 other XE8's in competition with it close by.... And it does it very quickly too, I'm sure it'd go faster but then the buildtree switches to archers striders and demons... And it sends them out enmasse
whats that got to do with S3O??AF wrote:hmm, XE8 on nanoarena v2 can produce about 8 squarerooks in the space of a minute around the 10 min mark if it isnt stunted by the 3 other XE8's in competition with it close by.... And it does it very quickly too, I'm sure it'd go faster but then the buildtree switches to archers striders and demons... And it sends them out enmasse
Ok, I've converted every model in NanoBlobs to use DDS files, now that I've found out how to not have them draw black in the game engine. I was hoping for a big improvement... and got a smallish bump. Ah well.
Here are the practical results. These are all at 1600/1200 resolution, shadows 2048, mirrored units, etc. Yes, I have a pretty nice video card, although my processor's starting to look crappy
I am sorry in advance for the huge file sizes here, but I want it clear that these aren't edited shots. The results were interesting- the engine's culling of off-screen objects has apparantly improved dramatically over the last version, based on my previous tests (which, alas, I didn't think to document properly).
The big surprise is the gigantic drop that occurs at the end of the unit explosions. In theory, no more polygons are being drawn in that shot, nor particles- I would think that most of the particles have already spawned in the first explosion shot. But the scars are now being drawn, and I wonder how big a factor this is.
I deliberately picked Ashap because it has no grass, trees, or water. I do not know how much FPS is eaten by the spheres, because there doesn't seem to be a FPS counter that can run without showing them, but I assume they're very efficiently rendered.

33 S3Os exploding.

64 S3O units all moving/pathing. Note the 8FPS drop, even though my video card is obviously not what's taking the hit here- I seriously doubt the complexity of the transforms has increased by that much.

All units off-screen, not moving at all. Remarkably good culling there.

83 S3O units, sitting still.

19 S3O units. Still above the FPS my flatscreen can actually deliver.

10 S3O units.

1 S3O unit.

This is a good shot of the FPS bottoming out during the tail end of the explosion event. The lag was there before the new explosion code was put in- this is what people are complaining about in terms of laggy gameplay.
Last but not least- I have seen (but thus far been unable to screencap) something that looks like geometry being drawn but "flying by" the screen. Also, as anybody who's played NanoBlobs 0.3+ can tell you, unfinished units that are abandoned in mid-build tend to end up "floating" around the battlefield, with really weird results. Dunno whether this has anything to do with performance in general.
Here are the practical results. These are all at 1600/1200 resolution, shadows 2048, mirrored units, etc. Yes, I have a pretty nice video card, although my processor's starting to look crappy

I am sorry in advance for the huge file sizes here, but I want it clear that these aren't edited shots. The results were interesting- the engine's culling of off-screen objects has apparantly improved dramatically over the last version, based on my previous tests (which, alas, I didn't think to document properly).
The big surprise is the gigantic drop that occurs at the end of the unit explosions. In theory, no more polygons are being drawn in that shot, nor particles- I would think that most of the particles have already spawned in the first explosion shot. But the scars are now being drawn, and I wonder how big a factor this is.
I deliberately picked Ashap because it has no grass, trees, or water. I do not know how much FPS is eaten by the spheres, because there doesn't seem to be a FPS counter that can run without showing them, but I assume they're very efficiently rendered.

33 S3Os exploding.

64 S3O units all moving/pathing. Note the 8FPS drop, even though my video card is obviously not what's taking the hit here- I seriously doubt the complexity of the transforms has increased by that much.

All units off-screen, not moving at all. Remarkably good culling there.

83 S3O units, sitting still.

19 S3O units. Still above the FPS my flatscreen can actually deliver.

10 S3O units.

1 S3O unit.

This is a good shot of the FPS bottoming out during the tail end of the explosion event. The lag was there before the new explosion code was put in- this is what people are complaining about in terms of laggy gameplay.
Last but not least- I have seen (but thus far been unable to screencap) something that looks like geometry being drawn but "flying by" the screen. Also, as anybody who's played NanoBlobs 0.3+ can tell you, unfinished units that are abandoned in mid-build tend to end up "floating" around the battlefield, with really weird results. Dunno whether this has anything to do with performance in general.
After more tests... hmm... gotta question... why doesn't an explode type SHATTER; work? SHATTER | FIRE | SMOKE | EXPLODE_ON_HIT works just fine, but plain ol' SHATTER doesn't.
Also, having shadows on is a super-duper big drain during particle events. Those darn shadow-casting smoke trails are a big part of the laggage. That, and many of them are creating far too many particles for their own good. I fixed that stuff up where I could in NanoBlobs, by tweaking the missile trails really extensively, but I can't do a thing with the explosions, except not have them.
Also, having shadows on is a super-duper big drain during particle events. Those darn shadow-casting smoke trails are a big part of the laggage. That, and many of them are creating far too many particles for their own good. I fixed that stuff up where I could in NanoBlobs, by tweaking the missile trails really extensively, but I can't do a thing with the explosions, except not have them.
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
knockback? You mean the pushign aside to get through thing? I did a post about all the bugs I see regularly because of untis pushign each other out fot eh way in the mailign list and it's been changed nwo so that unfinished untis have a huge mass value so they dont get shoved around.
But thqat isnt the cause, I have that happening to em a lot and I can run nanoblobz just fine, th problem came when I turned on decals and noted everythign was a little mroe sluggish.
I also mentioned NTai because of what someone said about square rooks and not being seen that often, whcih contradicted my experience with AI tests.
Particles, especially nanospray has a much higher lagging effect than say smoke in nanoblobz atm for me, 300 knights on my screen is faster than 20 sheep building
But thqat isnt the cause, I have that happening to em a lot and I can run nanoblobz just fine, th problem came when I turned on decals and noted everythign was a little mroe sluggish.
I also mentioned NTai because of what someone said about square rooks and not being seen that often, whcih contradicted my experience with AI tests.
Particles, especially nanospray has a much higher lagging effect than say smoke in nanoblobz atm for me, 300 knights on my screen is faster than 20 sheep building
- Guessmyname
- Posts: 3301
- Joined: 28 Apr 2005, 21:07
<laughs> Sorry, wasn't trying to make a promo screen there, just demonstrating that the off-origin behavior of shots does occur.
I'm going to try to get a screenshot made of the "doubled-up models" when I run the Explode event. I have this weird feeling that either S3Os are being doubled in polycount and drawn double-sided, but seperate into two clones during FALL events (and probably SHATTER, but it's hard to document), which a complete waste of resources, and would explain the perplexing fact that S3Os should be higher performance than 3DO for the same polycount (sure, you have to transform two textures, but half the polygons per render pass) ... but aren't. Maybe I'm just too stupid about how 3D works, but I would think that doing transforms on multiple squares from a single, 2048/2048 texture would perform more slowly than transforms on two 512s... and, in fact, I have seen almost negligable performance gains if I shrink the texture sizes further, suggesting that this is not a major performance problem...
I'm going to try to get a screenshot made of the "doubled-up models" when I run the Explode event. I have this weird feeling that either S3Os are being doubled in polycount and drawn double-sided, but seperate into two clones during FALL events (and probably SHATTER, but it's hard to document), which a complete waste of resources, and would explain the perplexing fact that S3Os should be higher performance than 3DO for the same polycount (sure, you have to transform two textures, but half the polygons per render pass) ... but aren't. Maybe I'm just too stupid about how 3D works, but I would think that doing transforms on multiple squares from a single, 2048/2048 texture would perform more slowly than transforms on two 512s... and, in fact, I have seen almost negligable performance gains if I shrink the texture sizes further, suggesting that this is not a major performance problem...