Skip to main content
Inspiring
September 17, 2021
Question

Multithreaded batch-export to png – possible?

  • September 17, 2021
  • 4 replies
  • 2245 views
We use a combination of Bridge / ACR and Photoshop to prepare assets for Web: Thousands of PSDs ranging from a few MB to some hundred MB. Now we want to export them to 24 bit PNG with transparent background and embeded rRGB colour profile. Images have Metadata, it should get preserved. So far, however, we have not found a robust and fast way to export from Bridge of Photoshop on Windows-based systems.
 
The Export Panel in Bridge with its Droplet-style Export presets looks ideal and offers a great set of features. Unfortunately, the Exporter is extremely buggy and fails with 90% of our assets. Yup I know the "keep Export Panel open" hack. Adobe Support had checked the problem via remote session – and couldn't fix it. The Bridge Exporter is out.
 
The most modern and seemingly multithreaded Exporter in Photoshop (Export As) isn't available for Batch-operations (actions or scripts) – and it strips Metadata. Not usable, unfortunately.

Batch from Bridge with an Export Action works but is insanely slow. Larger files need up to 20 seconds to convert – the process seems only to use one core. I tried turning the Action to a script so that it runs silently (without opening the files) but I so far couldn't accomplish this. Is this even possible – and does this speed up things? I also tried out Super PNG, but it's not particularly fast either.
 
For comparison, I exported a smaller subset of the files with Affinity Photo. The program comes with a batch exporter which uses parallel processing. Their Batch Export easily cuts through the largest files – it is ridiculously fast. The bad part – the tool offers no reasonable way to address the files we want to export (no drag and drop to fill the queue, no support for Metadata). Cool, but impractical for regular usage.

Finally, we can't use Lightroom Classic. We need Metadata written directly to files – importing to a Catalogue and exporting out would be tedious. We also use more file-types than Lightroom supports – so we still needed to use Lightroom and Bridge together – such would only further complicate our procedures.
 
I wonder what those of you do, who need to pump out many pngs regularly. Can one access Export As with UXP developer tools and write an Exporter which retains Metadata? Or do you use some standalone tool?
 
 
 
 
 
 
 
This topic has been closed for replies.

4 replies

Inspiring
August 3, 2023

Did you ever find a solution?  I'm facing a simmilar problem - although I'm simply exporting to jpg along with a shrink to 1080p for viewing on cell phone screen.  

polyxoAuthor
Inspiring
August 5, 2023

Hi @Aa.ron I had to re-read the issue first. Meanwhile, I have understood what made most of our PSD exports fail – it was the fact that we save PSDs with “maximize compatibility” unchecked. Doing so drastically (at least 50%) reduces file size, without being destructive in any way.

However, Bridge can't export such files. The Exporter fails and throws an “unsupported file format" error. If you want to batch-export, you need to take the Photoshop route via the Batch-Command. It's slow in nature, as this requires to actually open the file. 

 
Affinity can batch export PSD without composite layer (saved without max. compatibility) and is extremely fast – but you may run into situations where Affinity interprets adjustment layers differently, then the outcome will differ visually. That problem doesn't exist when max compatibility is checked – as Affinity then finds an (invisible) layer in any file that retains the appearance. When you have lots of PSDs saved with default settings, Affinity is way faster exporting them, than native Adobe apps.

For our use-case, using Batch via Photoshop is still the best option, overall. It's slow and cumbersome, but we retain all details from the source file and can save far smaller files.
Conrad_C
Community Expert
September 18, 2021

I have not tried this software myself, but have you looked into Retrobatch? It seems built for this type of volume processing, I just don’t know if it fully supports what you need, or how fast it is. Something to explore at least.

Stephen Marsh
Community Expert
September 18, 2021

I haven't seen that Mac only one before... Another option is the SIPS command line.

 

For Windows users, another option includes:

 

https://www.microsoft.com/en-us/p/image-converter/9pgn31qtzq26?activetab=pivot:overviewtab

 

 

Conrad_C
Community Expert
September 18, 2021

@Stephen Marsh wrote:

I haven't seen that Mac only one before...


 

Oh, good catch. I forgot to notice that the original poster mentioned Windows, so my suggestion probably won’t help much.

Bojan Živković11378569
Community Expert
September 18, 2021

"Can one access Export As with UXP developer tools and write an Exporter which retains Metadata?"

 

I am not from scripting world but I believe no, you can not use Export As either as step in action nor in script.

polyxoAuthor
Inspiring
September 18, 2021

Thanks you. Yup, I was aware that so far, one could not use Export As in Actions and Scripts. I just wondered if newer tools, such as Alchemist could capture what the normal Event Listener can't see.

Stephen Marsh
Community Expert
September 18, 2021

Photoshop has a lot of overhead and can run into problems with batching large volumes of images. You could look into using a different tool such as ImageMagick or GraphicsMagick or XnConvert or nConvert etc.

 

I once tested 500 images for a simple batch watermark operation. Photoshop was around 30 minutes, XnConvert was 3 minutes.

polyxoAuthor
Inspiring
September 18, 2021

Thank you! I read a few complaints about ImageMagick performance on larger assets (since it's limited to single core too); hence, I didn't expect it to be a lot faster.

Your experiences with XN-Convert report sounded good enough to try out. I was happy to see that its convert queue has drag and drop support. We flag editing states of files with labels and use no separate folder for the "ready for export assets". Drag and Drop support means that we can create the selection in Bridge (with any method) and simply drop it into XN-Convert. A great workflow plus over the (technically awesome) Affinity Batch Exporter, which only features a silly file picker.


Setting the number of cores you want to use is great. In first tests I saw a few issues (most PNGs were exported white), but I need to play some more with settings and maybe get in contact with them.