Home Technical Talk

Optimizing modular environments by merging meshes together?

elios
node
Offline / Send Message
elios node
Hey Polycount

I am working on a modding project which uses a pretty ancient version of UE, meaning it lacks most modern open world oriented optimization bells and whistles. (And its DX9, yay!)

Currently, I use various modular pieces to construct the urban environment for each level, with up to 2 LODs per mesh. To reduce the amount of draw calls and help with optimisation I have been considering manually merging neighboring modular meshes together, later in the final stages of development.

My question is, since my meshes use anywhere from 2 to 4 shared materials (meaning, they are used everywhere in the scene and are not unique to a particular mesh), would it make any sense to split these future mesh clusters on a per material basis, so that in the end each cluster only uses one material? So instead of some mega cluster with 4 materials, it is 4 smaller clusters with only 1 material slot each. Is there any potential scenario where that would help with draw calls and other kinds of performance? Would that not make any difference? 

I would appreciate some input on this. 

Replies

  • Eric Chadwick
    It depends. 

    Best way to be sure is to prototype it, using your target hardware. 

    You could fairly quickly create a mock-up with “programmer art” (in other words not visually refined) that nevertheless uses the same complexity. Then try it both ways, and see which has better performance.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    yeah - you definitely need to profile it. 
    you'll be balancing static memory against draw calls and the best choice is dependent on context. 

    I'd advise very strongly against doing anything destructive or hard to undo until you've got most of your level in place as you're not going to have a decent idea of what you need to optimise the most. 
Sign In or Register to comment.