• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
2

Add option to not save any pixel data of a Linked file into the PSD to massively reduce file size

Community Beginner ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

When placing a file using File>Place Linked... there should be an option to not store any pixel data of that Linked file into the PSD file to keep the file size as small as possible.

For example: When I take a bracket shot with my drone (DJI Air 3) in 8K, each of the RAW photos (DNG) is about 100MB in file size. When I now import 3 of these DNG files into Photoshop using File>Place Linked... and just save it as a PSD, the total file size is 792MB which is absurd in my opinion considering that each RAW photo is only 100MB.
When I do exactly the same by using File>Place Embedded... and save it again, the PSD file size increases to 1,98GB (which is completely insane by the way).
So there is definitely a benefit of using the Place Linked... option but it's still pretty clearly saving a large amount of pixel data into the PSD file even though I set Image Previews and Maximize PSD Compatibility both to Never under the Settings>File Handling tab. My file explorer (macOS) also doesn't show any previews or thumbnails for those PSD files, so I really don't understand what makes the PSD files so huge.

In my opinion a Linked file should work similar as it does in Lightroom Classic and only store the Camera RAW settings of each linked RAW file and then create the actual image when opening the file in Photoshop and store it temporally in the RAM or the Scratch Disk.

I actually discovered an interesting hack/workaround for this problem which doesn't make any sense but it definitely works:
The trick is to change the Image Size within Photoshop from originally 8064 pixel down to 80 pixel and then save again. This alone decreased my file size from 792MB to only 134KB!!! That's a massive reduction in file size of 591000%!!!
Once you open your PSD file back up again you can just increase the Image Size from 80px up to 8064px again without loosing any image quality since all the photos are Linked files.
The same trick also works with Embedded Smart Objects but only reduced the file size in my example by 40% from 1,98GB to 1,19GB which is still a lot!
Of course this hack doesn't work if you have other pixelated layers or masks in the same file but in that case you can just scale down each Linked layer individually and then change the Canvas Size to 80 pixel again. If you have masks applied to the Linked layers, you can just move the masks to new empty layers before scaling down the Linked images to keep the masks in its original size.
This will still drastically decrease the PSD file size, for example my file with 3 Linked RAW images and 1 mask went from before 826MB to only 28MB since Photoshop only has to store the pixel data of the mask now in the file.
Of course you have to scale everything back up again and reapply all the masks when you open the PSD file later but this could still be a good workaround if you just want to keep the files as backup and store them on your hard drive without taking up an unnecessary amount of space without loosing any quality.


Another huge benefit of doing this is the time it takes to save and open those compressed files. For comparison: the 792MB file takes over 30 seconds to save on my Mac Studio M2 Max which is already a very fast and powerful machine.

The scaled down 134KB version basically saves and opens within 1 second. So it's actually faster to open the small file and scale it back up then opening the large file!!! especially when you create an Action for scaling up & down the File Size.

That's why I think this should be the standard behaviour of Linked files within Photoshop or at least give us the option to NOT save any pixel data of Linked files to keep the file size as small as possible so we don't have to do these tedious & unnecessary workarounds anymore!
This would actually make the Place>Linked... feature much more useful for many users!

Idea No status
TOPICS
macOS

Views

103

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
7 Comments
Community Expert ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

@TheOne99 

 

I have added my vote! As this may or may not become a native feature, if this is important to you now, I think that this could be scripted...

 

Perhaps something like this, I haven't tested it though:

 

Script 1 of 2: Prepare the doc when saving -

1) Select the linked SO layer, get the linked path of the linked file, get the layer bounds and layer name

2) Delete the linked SO layer

3) Create a placeholder frame tool object at the layer bounds and store the linked file path as a per-layer metadata comment, name the frame after the original SO layer

4) Repeat for all linked layers

 

Script 2 of 2: Relink when opening -

1) Select the frame layer, get the linked path from the per-layer metadata comment

2) Place the link into the frame

3) Remove the frame tool object

4) Repeat for all placeholder frame tool layers

 

 

Votes

Translate

Translate

Report

Report
Community Beginner ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

@Stephen_A_Marsh 
Hi Stephen,
Thanks for trying to help, but your solution seems way more complicated than just scaling down the Image Size. Especially if you create an Action for that it's basically just a single press of a button before you hit Save and another button press after opening the file.

But that's why this feature should be implemented into the software, so we don't have to mess with those crazy workarounds...

Votes

Translate

Translate

Report

Report
Community Expert ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

@TheOne99 

 

I was thinking of what you wrote:

 

quote

Of course this hack doesn't work if you have other pixelated layers or masks in the same file

 

So I was thinking of a solution for only the linked layers, without affecting anything else.

 

All of my suggested workflow steps would be automated for every linked SO layer by the two scripts.

 

 

quote

But that's why this feature should be implemented into the software, so we don't have to mess with those crazy workarounds...


By @TheOne99

 

 

Agreed, all we have are crazy work-arounds to make Photoshop behave otherwise than programmed.  :]

 

The preview of a scaled down smart object still has a contribution to file size.

Votes

Translate

Translate

Report

Report
Community Expert ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

quote

the total file size is 792MB which is absurd in my opinion considering that each RAW photo is only 100MB.


By @TheOne99

 

A raw file is a single channel at 14 bit depth, a rendered RGB version is three channels at 16 bit depth.

 

In other words, merely storing a flattened preview almost quadruples the size.

 

The rest of it I don't have any opinions about (except maybe to stop worrying about file sizes). If I worried about file sizes I wouldn't get any work done.

Votes

Translate

Translate

Report

Report
Community Beginner ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

@Stephen_A_Marsh 

quoteThe preview of a scaled down smart object still has a contribution to file size.

 

Yes of course, but I would be okay with a file size of 134 Kilobytes per file. You could even scale it down to 1 pixel to reduce it even further but then Photoshop will not keep the image ratio when scaling it back up. With 80 pixels the ratio stays the same after upscaling and at least you can see a tiny preview of the image so you know you are in the correct file.

In the perfect solution I'm hoping for no pixel data at all should be stored in the PSD and the previews should only be created on the fly while opening the file. Of course it would take a few seconds longer to open the PSD file but much less time to save it.

Votes

Translate

Translate

Report

Report
Community Beginner ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

@D Fosse 

But that's the whole point of my post:
Why is there a flattened preview of each RAW file stored in the PSD when using the Place>Linked... feature?
Especially if I have turned off Image Previews and Maximize PSD Compatibility in the Settings>File Handling tab.


Isn't the main purpose of using Linked files instead of Embedded files that they are NOT embedded in the PSD file? It should only LINK to the original RAW files that you also have to keep on your hard drive like it does in Lightroom for example.

And yes for me file size is definitely an issue!
Let's say I take 50 bracket shots per shoot that I want to edit in Photoshop - each file is around 2GB. That's 100GB per shoot plus the 150 RAW images that take up 15GB. If I have 1 shoot per day that's 575GB per week and 2,3TB!!! per month if I want to keep all the files as a backup. A cheap 2TB SSD hard drive cost around $150 - that's a lot of money just to store my files!
So if the PSD file size could be easily reduced to almost nothing and I only have to store the 300GB of RAW files that I would like to keep anywa, this would be a reduction in disk space of 2 TERABYTES per month!!!

Votes

Translate

Translate

Report

Report
Community Expert ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

LATEST
quote

In the perfect solution I'm hoping for no pixel data at all should be stored in the PSD and the previews should only be created on the fly while opening the file. Of course it would take a few seconds longer to open the PSD file but much less time to save it.


By @TheOne99

 

 

Yes, that's exactly what my 2-step script idea would do, all automated.

 

As for the preview image size, that would be the size of the width and height in pixels, in the current colour mode and bit depth.

 

EDIT: I just tested and found the following results:

 

Original 'blank' PSD: 88 KB

Linked 10 MB raw file: 922 KB

Rasterize the link: 917 KB

Embedd the linked 10mb raw file: 11.6 MB

 

So it would appear that the linked SO only contains the preview at the current placed pixel size as expected.

Votes

Translate

Translate

Report

Report