Jump to content

View more

Image of the Day

Working on an auto spawn system. #gamedev #indiedev #screenshotsaturday https://t.co/Mm2kfekz7b
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

UDK - Performance question

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 Coro   Members   


Posted 28 August 2012 - 03:39 PM

Hey everyone

I've been coming to this site for years but have only just decided to sign up. Hopefully I can help out the community and vice versa.
My question is about getting the best performance out of the UDK Package for my levels. I have gone through many different tutorials for the modelling suite "Maya" (2011), and I am currently in the progress of modelling a house that I would like to import into UDK later. I was thinking back to other projects I have seen in which houses had been developed via using the BSP geometry and just attaching textures to them. I was wondering would it be better for me to model my houses via Maya and then import them or to attempt to create them with BSP's instead. Is there going to be any deterioration in frame rate from using one or the over?

Thank you to anyone, and hopefully I don't sound stupid.


#2 DaveTroyer   Members   


Posted 18 September 2012 - 11:09 AM

Hi there!

So the BSP's in UDK actually help to alleviate processing load while in the game.

When I was learning how to use UDK, I made the first level of DOOM in 3DsMax and imported it as just a massive model and tried to set it up properly in the engine. It was a real pain. Once I got it good to test without even built lighting, it really lagged out.
When I replaced nearly all the walls and floors with BSP's, it screamed and worked perfectly, even with dynamic lighting and depth of field built in the level. I lost a bit of detail, but it still had the effect I was looking for and helped make it do-able.

So in my opinion, if you want to have high detail that needs lotsa geometry, then use a model. Otherwise, use BSP's to help make things quicker. That's what they're there for. Posted Image

Hope that helps!

Check out my game blog - Dave's Game Blog

#3 Coro   Members   


Posted 23 September 2012 - 11:49 AM

Thank you!

Sorry I never replied, I never got an notification. This is really good information.

#4 3Ddreamer   Members   


Posted 29 September 2012 - 03:36 PM

Yeah. The BSP tree (data tree structure) is crucial in many games. I have even seen whole villages in one BSP as essential one placeable object which can greatly increase performance in the game. On rare occasion I come across a simple FPS which has planar elliminated, all the stationary hard edge models as one and sharing a single 2048x2048 or similar texture image. In general the fewer the separate models, textures, and materials the better for performance in game. Watch for hot spots of overloading where there are too many things resulting in frames per second and smoothness of frames problems.


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.


by Clinton, 3Ddreamer

#5 caldiar   Members   


Posted 01 October 2012 - 04:17 PM

You also need to keep in mind how the Unreal 3 engine handles culling with models. If even a single vertex of a model is visible to the viewport, then the entire model is drawn. This is more than likely why loading up a single model for an entire level was killing the performance for UDK; the entire level was drawn at all times regardless of what was actually truly visible.

I believe this goes for 'grouped models' as well (collections of smaller models). You would need to balance grouping models together and having individual models for situations such as having a bunch of crates throughout a room. Grouping these together means you only have to check once to see if any of the models are visible. However, group too many too far apart, and a single outlying box that might be visible from where you're currently at will cause all the rest of the boxes that are hidden to be drawn anyways even though nothing is shown for the work.

BSPs can be a handy tool for indoor scenes but they really begin to struggle with handling large outdoor areas. I can't remember off the top of my head what the deal was but I believe there's also some inconsistencies with lighting methods between BSP geometry and model geometry (vertex lighting vs. lightmapping and dynamic lighting). Something to keep in mind and look deeper into.

If you build your models properly snapped to a grid following UDK's units, you will be able to snap them together in the UDK editor with ease. As long as you have your models flush with each other and prevent gaps between meshes your models will prevent anything behind them from drawing (as long as all vertices of the hidden models are not visible).

#6 menyo   Members   


Posted 10 October 2012 - 10:05 AM

BSP are only used to flash out a level! In a profesional level you hardly see any BSP since they are all covered with static meshes. But they are nice to flesh out the design and get your basic idea down.

You have a view options, depending on what you exactly want with the house. If it is just scenery i advice you import it as a whole and place it. But if it is very detailed and you might want to re-use parts you should cut it up and put it together in UDK. Depending on the size of the house you can use BSP to flesh things out.

Performance wise UDK can handle tons of triangles, but only if you use the optimization tools. Put up lightmass importance volumes and visibility volumes. The former makes sure the engine calculates the lightning at the important places and the latter will completely hide BSP's and meshes when they are not visible to the player anyway and dynamically loads it back in.

For more detail you should watch some video's of 3D buzz on UDK they have 40+ hours i believe. Also try load a unreal map and turn off static meshes and you see what i mean about using BSP's.

Latest finished project Project

Bounce and Break

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.