Performance of Atlas vs individual textures

Hello there!

I am looking into the most efficient way to load in details that are not on a mesh or baked into a texture.

Is it more efficient to have a 2048x2048 texture resolution with bolts, handles etc or several small individual 128x128 / 256x256 textures?

Few things:

If a mesh has 1 material, it has one drawcall.
If it has 2 materials, it has two drawcalls.
If two meshes have 1 (the same/different) material its two drawcalls total.

If a material has three textures, it needs to tell gpu/cpu to fetch a texture three times.
If those three textures could be combined, it only needs to tell the gpu/cpu to fetch it once.
Generally speaking its faster to load 1 1024x1024 than a few 128/128’s.

I would try to combine small bolts/handles that are used together as much as possible and get a few atlasses going instead of separate textures.

Thank you for the reply!

I imagined this was the case from the reading up I have done, but a few commends made me question whether it was the most resourceful way.

I am sure it would be even better to bake the bolts onto the mesh outright in a normal map, but after reading about how Star Citizen are doing it, it really does sound the way forward especially if things are to be modular, it makes altering the look painfully easy vs traditional methods.