Copy link to clipboard
Copied
I assumed that duplicating smart object layers would save file size, but it seems that in the current release, this is worse than duplicating flat/rasterized layers!
If I have 5 copies of the same smart object, the resulting .psd file is 5X larger! Does this seem right? Is this expected? A PS file should contain one copy of a smart object even if it's used multiple times, thus keeping the file size low compared to multiple rasterized/flat layers.
Perhaps PS chooses to also save a separate rasterized version of each smart object layer for perceived performance (that includes each layers' custom effects, transforms, etc.)? If so, is there a way to turn this off and reduce the file size in lieu of such performance gains?
To reproduce:
viveredesign wrote
I assumed that duplicated smart objects (not new smart-object copies) would conserve file size (as compared to duplicating pixels), but your explanation that PS generates/keeps rasterized copies of all smart object layers (regardless of whether they're simple duplicates) confirms my observations that duplicating smart objects do indeed blow-up the file size even though they're the exact same pixels.
The Pixels rendered for the Shared Smart object are set in concrete and can not
...Copy link to clipboard
Copied
How are you duplicating the smart object layer and is the smart object a placed image file. If it is is it Place Embedded or Placed Linked.
Smart object layers can be duplicate two different ways.
1.) menu Layer>Duplicate Layer
2.) menu Layer>Smart Objects>New Smart Object via Copy
Smart object layer are like Pixels layer with some additional overhead There are some benefits and some restrictions when you use smart object layers. Each Layer has Pixels rendered for the layers content. There is also an associated Transform for the pixel fot the layer. Beside the late pixels there is the layer Object, The layer object may also be share by other smart object layers created using menu Layer>Duplicate Layer. Smart Object Layer create using menu Layer>Smart Objects>New Smart Object via Copy have independent object not a shared object.
A Smart Object Layer object can be huge. If you place embedded a huge image file the layer object contains a copy of the file placed in. If you duplicate that layer using menu Layer>Smart Objects>New Smart Object via Copy your document grows in huge leaps in size.
Each Smart Object layer that share an Object still has Pixels for the layer that layer associated transform created from the Pixels rendered for the Smar Object. Other overhead beside transform data is the data to recorded the shard object information. The transform need to know where the pixels rendered for the shared object are for example.
Also Import dose not support image files menu File>Place does. Even if you import an image as a single layer using copy paste then convert the image layer to a smart object the document will grow in size converying the layer. The original image layer need to be made into an object, That object needs to have pixels rendered for the object content and a transform for the layers content to create the layers actual pixels. You may feel the that not how it would be done. Look at it this way you could have targeted any number of layer and converted them to a smart object layer in that case the smart Object would be the number of layer you targeted their contents the layer mask the styles the opacity their fill, blending and the pixels rendered for the object content would be the composite of the those targeted layers and it would have a transform over then to create the layers actual pixels. The only different to your casee is the number of layers involved.
Copy link to clipboard
Copied
Thanks for the expanded insight.
I assumed that duplicated smart objects (not new smart-object copies) would conserve file size (as compared to duplicating pixels), but your explanation that PS generates/keeps rasterized copies of all smart object layers (regardless of whether they're simple duplicates) confirms my observations that duplicating smart objects do indeed blow-up the file size even though they're the exact same pixels.
So there's no file-size-reduction benefit to using smart-objects or links in most all cases (except perhaps if the smart-object contains many layers).
Copy link to clipboard
Copied
viveredesign wrote
I assumed that duplicated smart objects (not new smart-object copies) would conserve file size (as compared to duplicating pixels), but your explanation that PS generates/keeps rasterized copies of all smart object layers (regardless of whether they're simple duplicates) confirms my observations that duplicating smart objects do indeed blow-up the file size even though they're the exact same pixels.
The Pixels rendered for the Shared Smart object are set in concrete and can not be changed with any Photoshop tools. These are not the a smart object layer pixels and they may or may not be the same the pixels a smart object layer has. Every smart object layer has and associate transform for these pixels that can not be change the interpolate pixels are the smart object layers pixels. You can have a single Smarts object shared by many smart object layer each smart object layer has it own associated transform and interpolated pixel. It is possible that none layer of the smart object layers that share the same object have the pixels that were rendered for the smart object. All the layer may have a different number of pixels. None of the layers may have pixels that are the same as an other layer. Layers have their own pixels.
The interpolated pixels can be further change by smart filters and why smart filters need to be reapplied in order.