Game Development Community

Big performance hits even with LoD

by Flybynight Studios · in Constructor · 09/13/2008 (11:31 am) · 5 replies

Im trying to figure out what I am doing wrong.. I used snap to grid for all of the structural brushes and IMO the model is a really basic house. I am using a gabel roof so I do have a couple of "ramp" or triangular sections above the rectangualr walls but they are seamless.

The issue I have is that when I am up close to the model it looks great and performs great. The farther my player/camera gets away from the model the frame rate just craters hardcore. I know this is something Im causing by not constructing it correctly but I cant figure out what..

For LoD I actually tore the structures right down and closed off the doorways with solid walls so there was no "interior" to speak of. Ok its still there but there is no way inside so it shouldn't be a portal/rendering issue. So basically I set 2 levels of LoD. model_0 has 200 brushes or so, 80% of them detail brushes and I set it to render at 100 pixels. (Which is barely 100 feet.) Model_2 is set to render right up to 10 pixels. It has a mere 20 or so brushes and is completely sealed off..

When I delete the DIFs from my mission the frame rate is great as I pan around the mission. As soon as I add in a single structural DIF model whenever it pans into view the frame rate craters down to 2-3 FPS (from about 40) if I am more than a couple hundred feet away.

Any thoughts on what the heck I am doing wrong?

Thanks

#1
09/13/2008 (11:55 am)
If you arent using a interiors to walk into. Remove that room and replace it with 1 box... thats 6 brushes and 24 faces vs 1 brush and 6 faces. also whats textures are you using? try 512 vs 1024 or 2048 if you havent already. But other the that. I am not sure, I have used constructor 1.0.5.1 for all my buildings, and i dont have the same results. do you use the lighting entities as well? i have found those cause lag at times. my buildings average between 250-1000 brushes and we dont have those issues, we just have portals and no LOD. so if your adding 1 DIF with LOD and having that issue. I wonder if its something to do with the LOD.
#2
09/13/2008 (11:59 am)
Actually just had a afterthought... try reducing the amount of brush interactions. i have heard that sometimes the BSP exporter doesnt like when brushes are intersecting. This might be part of the issue too.
#3
09/13/2008 (12:19 pm)
Thanks Edward. The only brushes that intersect are part of the gable roof. Unfortuantely It's pretty much unavoidable there. All other brushes are snapped to each other and link perfectly.

But uhh here is the kicker....

It wasnt my DIFs :)

If I removed all of the DIFs in the level I had a few DTS objects, a bunch of those being what I consider very simple wall objects.. Although they didnt appear to have a big frame rate impact, as soon as I put some DIFs in the scene behind the walls things got out of hand.

So the solution was delete the DTS walls and all of the sudden I could toss in 10-12 DIF buildings and the frame rate was still rock solid.

DTS for the lose is the lesson here.

The DTS objects were a bunch of cylinders for logs. I bet if I LoD the DTS a bit it'll be ok. Still, lesson learned. The collision mesh on the DTS were a very simple single collision box. And the collision works fine. I am betting the 20 cylinders fro logs on each wall section are whats killing the frame rate.

My bad. Thanks for the feedback. I'll leave this post up as a monument to my ignorance and as a warning to any future modelling nooblets :)
#4
09/13/2008 (12:29 pm)
Ahh, that was the key item you didnt mention, you had imbedded DTS objects. yah. You would be much better of portalling and then placing the objects inside. i have some rooms in the middle of my city where i get 120fps fully funished. While its convenient to export it all at once and in some cases advantagous. When you get hits like you mentioned obviously you know whats going on now. Its a fine balance.
#5
09/13/2008 (12:52 pm)
Yeah I correctly LOD'd the DTS objects and now my FPS is back to normal. Thanks again for the help.