Draw calls, and memory allocation. Ultimately, a roughness map is only a scalar value, but you’re wasting the space of 3 independent scalar values by just importing the map on its own. You can save 2/3 of the memory by using one texture to store roughness, height, and ambient occlusion values in a single texture. Alternatively, you can forego compression. You’ll use a bit more memory, but the quality will be better than if you used a texture 4 times bigger (by area). But just throwing in a roughness map with standard compression for colors is a terrible, terrible idea. Using the linear space (no sRGB) and all 3 channels of a colored texture is the most efficient.
Second is draw calls; materials can only have 16 texture sample slots and some of those are dedicated to reflections and lighting, so you’re limited to anywhere between 12-9 textures per material. On top of that technical limitation, every single one of those textures requires an individual draw call to pull it in. If you use one texture, you can limit the draw calls to just the texture, and if you use a shared sampler, you can share all the textures you might need and batch load them all in one go. But if you choose to use shared samplers, you can easily blow out your memory budget if you’re not careful managing your texture space. Calling in tons and tons of 2K textures when you don’t have to really won’t help.
Roughness, displacement, ambient occlusion, opacity, subsurface opacity, grayscale detail textures, and material masks can all be stored in single-channel values in linear space to save a hell of a lot of memory (you might need to raise grayscale detail textures to the power of 2.2 to look appropriate, or multiply it by itself for a fast approximation for good colors, but everything else works as it should in linear space, which uses less memory than gamma space).
The material below was made with only 4 textures: a colored texture map, a normal map, a detail map to provide each brick with a different value, and a combination texture of a mask, roughness, ambient occlusion, and displacement map. None of the textures are larger than 512x512, and all of the assets combined make up less than 1 MB in textures.
