I'm familiar with the usual advice on how to reduce PSD file sizes but haven't seen any addressing knowledge of some of what Photoshop itself does in regards to storing various layer types.
I have a 7000 x 7000px PSD file with some regular, nested and adjustment layers. The majority are adjustment layers (curves and gradients). It was hovering at around 220mb which was nothing unexpected.
After adding some more gradient adjustment layers and saving, the file is 550mb, which is confusing. I do have some masks added to layers but haven't created any for the new adjustment layers. I had two assumptions which I would appreciate being confirmed or not:
I reuse (duplicate) a layer about 5 times. I made the original a smart object and duplicated this layer 4 times with the understanding that Photoshop recognises the 4 duplicates as instances. This should be hugely benefitial to file sizes.
Gradient adjustment layers are easy to store as a short mathematical string (e.g. angle, point of each colour, point of each opacity change, etc.) As the file sizes have more than doubled, am I to understand that Photoshop - for some reason - is storing Gradient adjustment layers as pixel arrays? Which would create huge files. I'm sure I'm wrong on this one being pixel arrays but need to check. I believe that Capture One does this for its own gradient adjustment layers and was very surprised.
Updates on findings:
I made a copy of the file to test what changes made a difference. Please note that I'm not interested in widely published techniques that limit what's editable or remove previews.
I deleted the later added gradient and curve adjustment layers that appeared (can't 100% be certain) to be the moment when the file jumped from 220mb to 550mb. This didn't alter the size significantly.
I deleted all of the blank layer masks automatically added to adjustment layers. I expected no significant difference as it's easy to compress an entire screen of a single colour (the blank mask) and I assumed the automatic addition of one was implemented for this reason. No significant difference in file size on saving.
I deleted all the layer instances (duplicates of a smart object) and their accompanying gradient and curve adjustment layers. This brought the file size back down to 265mb. Which begs the question, is it a myth that duplicating a smart object creates an instance of it? Photoshop appears to be storing each duplicate uniquely in the file.