Texture sizes, atlases and bears oh my!

I just wanted a bit of information on recommended maximum texture sizes. Ive been using 4096x4096 texture atlases but I’m unsure if this is a bit large. Also how necessary are texture atlases for PC games in general, I know its important for mobile to reduce the number of draw calls but perhaps this is not such a big deal on an unreal PC game. Many smaller textures seem to be easier to manage because texture atlases can be a bit of a pain to iterate on. Cheers!

Should be fine for PC, but I think the max texture resolution supported by DX9 is 2048*2048 (could be wrong here), so if you’re scaling to older systems or previous Shader Models you might want to scale them down. Don’t quote me on that though!

If you’re using them like an Atlas, and I’m wrong on the above point then you’re probably fine! 2048 is a pretty standard unit to use for the up-close props and characters, or the things you’ll see the most of in a high end PC game. Al depends on how much screen space the objects take up of course. If you’re object is never going to take up more than a 100 x 100px square on screen then you can get away with a 512 or even a 256, as most of the information is just wasted.

Optimization is always the key to a good running game, you should try to minimize draw and texture calls wherever possible really for good practice, but as for memory, a 40964096 takes up the same memory footprint as 4x 20482048’s (plus or minus a few information bytes), so you’re not going to impact memory much whichever way you slice it.

The ideal behind using a texture Atlas would be to keep the number of draw calls to a minimum as it is abusive use of materials in general that can add performance issues over and above what could be done as mesh detail.

Yet to be learned though is how procedural or physics drive materials can be used efficiently that makes the use of a texture Atlas redundant that is based on out of date technology.

Here is a good example as to why you do not need a texture Atlas when there is a procedural or physics based material available.


The upside of using P&P materials over texture based materials, and I’m assuming, is since they are value based you can make them instances and make material changes at run time as well let the software optimize the requirements as to targeted platforms.