Texture channel packing. Why is it more efficient?

Some people like to pack their AO, roughness and metallic map into the RGB channels of a texture. It seems most people do it to save texture memory/bandwidth.

I was considering using non-channel packed textures, however I just realised this results in using two extra texture samplers in the material. Is this another reason people use channel packed textures? Does one RGB texture sampler cost the less than 3 grey scale texture samplers?

The idea is to save on texture samplers and yes 1 RGB texture will require less VRAM space to storage than 3 gray scale texture, basically because the data is simply replicated between R, G and B channels. So you will have saving on the material and the VRAM store at your graphics card.

I feel like there’s a bit of an organization element to the appeal of texture packing as well. Having less files to deal with is always nice. And until we get a universal way to group texture files together, packing is a good alternative.

But yes, it saves on memory.