6 wheeled vehicles = 20 FPS
by Gregor Samsa · in Torque 3D Beginner · 11/12/2009 (6:39 pm) · 5 replies
I add 6 wheeled vehicles (buggy) to the empty terrain scene and the fps reduced dramatically from 90 to 20. Is there a possible optimization for such situation?
BTW, I am using 1.0 demo.
BTW, I am using 1.0 demo.
About the author
#2
polycount: 1300k
drawcalls: 367
terrain + 6 vehicles (same camera angle):
polycount: 1400k
drawcalls: 1360
I also realized that when I add vehicles from same point, I mean, vehicles are falling onto and colliding with each other, the fps is reducing to 0.9-1.2 instead of 20.
11/13/2009 (5:54 pm)
only terrain:polycount: 1300k
drawcalls: 367
terrain + 6 vehicles (same camera angle):
polycount: 1400k
drawcalls: 1360
I also realized that when I add vehicles from same point, I mean, vehicles are falling onto and colliding with each other, the fps is reducing to 0.9-1.2 instead of 20.
#3
If correct that means your getting hit with 993 draw calls between the 6 vehicles. ~165 per vehicle. Thats very high even with shadows.
I'll take a closer look at the buggy model and see what its doing.
11/13/2009 (9:10 pm)
That is odd.If correct that means your getting hit with 993 draw calls between the 6 vehicles. ~165 per vehicle. Thats very high even with shadows.
I'll take a closer look at the buggy model and see what its doing.
#4
In Advanced Lighting it adds up fast...
Depth Pass = 28
PSSSM 4 Splits = 28 x 4 = 112
Forward Pass = 28
--------
168 per vehicle
Some better LODs... reducing the draw calls quicker... and some optimization could make that vehicle work better.
Also there is some optimizations coming in 1.1 which should reduce the cost of the PSSM which is usually the main place your draw calls go.
Still test the same thing in Basic Lighting (just type setBasicLighting() into the console).
Do you see a similar drop with and without the buggies on the screen?
It could be its more bound by the physics calculations on the WheeledVehicle class than the art.
11/13/2009 (9:56 pm)
Looking into it... seems like the buggy itself is the culprit here. Its an old art asset, but it has like 28 draw calls which is sort of high for what the object is.In Advanced Lighting it adds up fast...
Depth Pass = 28
PSSSM 4 Splits = 28 x 4 = 112
Forward Pass = 28
--------
168 per vehicle
Some better LODs... reducing the draw calls quicker... and some optimization could make that vehicle work better.
Also there is some optimizations coming in 1.1 which should reduce the cost of the PSSM which is usually the main place your draw calls go.
Still test the same thing in Basic Lighting (just type setBasicLighting() into the console).
Do you see a similar drop with and without the buggies on the screen?
It could be its more bound by the physics calculations on the WheeledVehicle class than the art.
#5
I know your time is valuable; is it possible to expound upon how an art asset gets pushed through the render pipeline....and how better LOD's and the other factors work?
Thanks, again!
I suspect the physics are helping the lag, as well...;).
...and a minor 'observation'...it seemed to me that I was getting better FPS in beta 5 than the 1.0.1 T3D build[anyone else??]?? Might be wrong, didn't investigate too heavily; definitely keep an eye on this type of thing in the future. Just finished a proto mesh for an upgrade to the ACK product line and will be dropping things into T3D for compliance. Alas, I think it probably my antiquated card/rig....
...sorry for the nonTopical question: are AutoDetails ala TribesII/TGE working in T3D, intended to work? Otherwise, polycrunch time it will be!
11/14/2009 (9:33 am)
Thanks, Tom...good things to know about art and draw calls.I know your time is valuable; is it possible to expound upon how an art asset gets pushed through the render pipeline....and how better LOD's and the other factors work?
Thanks, again!
I suspect the physics are helping the lag, as well...;).
...and a minor 'observation'...it seemed to me that I was getting better FPS in beta 5 than the 1.0.1 T3D build[anyone else??]?? Might be wrong, didn't investigate too heavily; definitely keep an eye on this type of thing in the future. Just finished a proto mesh for an upgrade to the ACK product line and will be dropping things into T3D for compliance. Alas, I think it probably my antiquated card/rig....
...sorry for the nonTopical question: are AutoDetails ala TribesII/TGE working in T3D, intended to work? Otherwise, polycrunch time it will be!
Associate Tom Spilman
Sickhead Games
The question is what is the bottle neck... i suspect the model has a crazy drawcall/polycount of some sort.
In the console type...
metrics( "fps gfx" );
... what is the drawcall and polycount it says?