Performance Cost Of Baked-In DTS Meshes
by Scott Doerrfeld · in Constructor · 04/30/2007 (12:54 pm) · 5 replies
Let's say you have a large room with a lot of DTS furniture. You can either:
A) Place the DTS objects in Constructor and bake them into the DIF.
B) Place the DTS objects in the Torque Mission Editor, keeping them separate from the DIF.
With option A, you get prettier lighting, but the performance is very poor because the geometry of the DTS objects are now a part of the DIF and get drawn any time the DIF gets drawn.
With option B, you can't get the same lighting, but the performance is way way better (like 40-60 fps difference) because each DTS object in the room only gets rendered if you are looking at that object. Plus you can utilize LOD.
The performance cost of using baked-in DTS objects appears to far outweigh the benefit of having more precise lighting. At least for certain types of rooms.
Are there any plans to have more selective rendering for DIFs with baked-in objects? Or is that just not practical?
A) Place the DTS objects in Constructor and bake them into the DIF.
B) Place the DTS objects in the Torque Mission Editor, keeping them separate from the DIF.
With option A, you get prettier lighting, but the performance is very poor because the geometry of the DTS objects are now a part of the DIF and get drawn any time the DIF gets drawn.
With option B, you can't get the same lighting, but the performance is way way better (like 40-60 fps difference) because each DTS object in the room only gets rendered if you are looking at that object. Plus you can utilize LOD.
The performance cost of using baked-in DTS objects appears to far outweigh the benefit of having more precise lighting. At least for certain types of rooms.
Are there any plans to have more selective rendering for DIFs with baked-in objects? Or is that just not practical?
About the author
#2
There are a number of performance updates in head that should go out in the next release. One of them is related to static meshes and gl state changes (this doesn't address visibility culling, which still needs to go in, but should help a lot).
I can't post code here - if you can create a thread in the private forums I'll post the update for you to check out.
05/01/2007 (9:58 am)
Hi Scott,There are a number of performance updates in head that should go out in the next release. One of them is related to static meshes and gl state changes (this doesn't address visibility culling, which still needs to go in, but should help a lot).
I can't post code here - if you can create a thread in the private forums I'll post the update for you to check out.
#3
That'd be awesome to see the updates. I've started the following thread in the private forums:
http://www.garagegames.com/mg/forums/result.thread.php?qt=61539
So you're saying that eventually there will be some visibility culling in regards to DTS objects that are baked into a DIF?
Thanks a lot.
05/01/2007 (11:11 am)
Hey John,That'd be awesome to see the updates. I've started the following thread in the private forums:
http://www.garagegames.com/mg/forums/result.thread.php?qt=61539
So you're saying that eventually there will be some visibility culling in regards to DTS objects that are baked into a DIF?
Thanks a lot.
#4
06/02/2007 (7:49 am)
@John: Anything in the new Constructor release that addresses this?
#5
If I remember correctly the problem is that the scene state object contains a lot of methods for scene object vis checking, but non that work on a pure bounding box (static meshes are not scene objects). Unfortunately there wasn't enough time to make the necessary changes and properly test them for the 1.5.2 release.
06/06/2007 (4:49 pm)
The updates are engine based. TGE 1.5.2 contains a lot of performance improvements - the only thing missing at this time is visibility culling.If I remember correctly the problem is that the scene state object contains a lot of methods for scene object vis checking, but non that work on a pure bounding box (static meshes are not scene objects). Unfortunately there wasn't enough time to make the necessary changes and properly test them for the 1.5.2 release.
Torque Owner Scott Doerrfeld