Texture Resolution Vs Texture Count

Hey all,

Coming from a visual effects background, the way I like to do everything on my own projects is by using as few texture sheets as possible. This is just a personal thing in that I hate sorting through hundreds of files, so for my own workflow it’s not uncommon for me to use 8k or 16k textures and just cram everything onto one sheet.

That said, that’s obviously not a thing in real time rendering, so I’m wondering what the tradeoff is with size versus resolution. Is it better to have a lot of low resolution textures or fewer high resolution tetures? IE, if I have a big mesh, would I be better off putting it all on one 2k or 4k texture, or better creating 4-81024 textures?

Any advice would be greatly appreciated!

Thank you!

I guess it can all really be scenario based. If you know every single one of those textures will be on screen at once, and loaded, then it might be best going with an atlas map. But, if you have areas where only 1 of those textures is being used, and the scene has to load the entire atlas map that would be bad.

It’s highly unlikely that all of those textures will be used at that resolution all the time, so for best performance it would be better to have them split up and their resolution optimized for what they’re going to be used for, then the engine can unload and load what it needs and also adjust LOD levels for each one.

Thanks for the responses! :slight_smile: Question regarding those: I’m modeling/texturing a static mesh of a corridor segment. The specific corridor segment is one mesh with four separate texture maps at 4k. Wouldn’t this be a situation where having fewer high resolution textures would be better, since whenever this static mesh is used, all four maps will always have to be loaded anyway?

Attached is a photo of the model.
90c6f5d95963e7644a168564195f20d15f313d20.jpeg

Yes, that would be a large strain on the memory, rarely do you need to us anything beyond 2K resolution and most of the time you’d want it 1024 or less. But also what impacts performance more directly is multiple materials, each one increases the number of draw calls

Well math wise 1 large versus a bunch of smaller materials all adds up to being the same as to video memory and material budgets and performance issues don’t add up to a hill of beans as one is not generally facing a render crushing element 100% of the time. The ideal though, in my opinion,if a hero part is used with any level of consistency fidelity is a must as the nature of instancing is generally based on the load of the copied element and if the resolution is not there to begin with there is no hope of making more out of not enough so the preference would be high fidelity over crushing quality in favor of performance. The flip side if you are using a lot of individual components that are limited as to use then my preference would be placed on a texture atlas as to keeping things tidy and in one place but once again the work in progress would be about more than what is needed to make quality over performance.

Why is that?

Well Unreal 4 is whats considered as a closed edit environment where the environment should be used to tailor the output as to the purpose the work needs to serve and not to the demands of what would be considered best practice as to fit to finish assets. In a perspective if making a movie you would not start with 512X source but instead start with at least 4k images and use the edit environment to output for what purpose the work has to service.

Same thing with Unreal 4. Work about making the best looking and and then sort out the performance issues via proper profiling and using feature additions made available via Epic to tweak for performance requirements.