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
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.