PDA

View Full Version : Photoshop PNG performance issues



Captain Obvious
02-04-2009, 09:40 AM
I've noticed that Photoshop is horribly slow at saving PNGs. For a very simple gradient at 16k by 16k, Photoshop takes roughly 14 minutes to save it as PNG to my local hard drive. The same file saves in about 1 minute in XnView, and about 10 seconds as an RLE-compressed Targa in Photoshop.

Clearly, Photoshop's PNG saver has some serious performance issues. So, on to my question: Is there a third party PNG saver for Photoshop?

Speedmonk42
02-04-2009, 10:14 AM
I've noticed that Photoshop is horribly slow at saving PNGs. For a very simple gradient at 16k by 16k, Photoshop takes roughly 14 minutes to save it as PNG to my local hard drive. The same file saves in about 1 minute in XnView, and about 10 seconds as an RLE-compressed Targa in Photoshop.

Clearly, Photoshop's PNG saver has some serious performance issues. So, on to my question: Is there a third party PNG saver for Photoshop?

I know it's probably obvious (no pun intended) but what do you do with that anyway?

gerry_g
02-04-2009, 12:08 PM
Clearly, Photoshop's PNG saver has some serious performance issues

That's nothing, you should try waiting for Bridge to do a prevue for an .obj file, I nearly lost the will to live

Lightwolf
02-04-2009, 12:12 PM
So, on to my question: Is there a third party PNG saver for Photoshop?
http://www.fnordware.com/superpng/

Cheers,
Mike

Chris S. (Fez)
02-04-2009, 12:23 PM
Cool. Do you any of you gentlemen know if it is possible to layer two or more pngs with transparency over top of each other in html?

Alkaline
02-04-2009, 12:26 PM
When was the last time you defragged your hard drive? I know it may not seem like it, but a fragmented hard drive can cause Adobe products to run extremely slow (When I first went to CS3, photoshop would take like 5 minutes to start up, then freeze instantly when I would try to do anything). I found that a defrag using a program called jkdefrag (freeware) sped up how fast Photoshop, and all adobe products responded.

Captain Obvious
02-04-2009, 03:10 PM
I figured out what the problem was. Photoshop's PNG saver uses the highest amount of compression, and I've found no option for this. With Fnord's PNG saver at the highest compression, it took just as long. With the compression at the second-highest, file size and time matched with Lightwave and XnView.


Cheers, Mike! :)

Captain Obvious
02-04-2009, 03:10 PM
I figured out what the problem was. Photoshop's PNG saver uses the highest amount of compression, and I've found no option for this. With Fnord's PNG saver at the highest compression, it took just as long. With the compression at the second-highest, file size and time matched with Lightwave and XnView.


Cheers, Mike! :)

COBRASoft
02-05-2009, 10:51 AM
Cool. Do you any of you gentlemen know if it is possible to layer two or more pngs with transparency over top of each other in html?

You can, but IE 6-7 and lower don't support transparent PNG. IE8 is supposed to support it. FireFox supports it without a problem.

Red_Oddity
02-05-2009, 02:26 PM
You can, but IE 6-7 and lower don't support transparent PNG. IE8 is supposed to support it. FireFox supports it without a problem.

Yes it does, problem is you have to write a javascript that runs after page load (so have only IE read the javascript by placing it in the code using the <!--[if lt IE]> tag ) that traverses all PNG files and replaces the img src tag with an AlphaImageLoader filter.

http://msdn.microsoft.com/en-us/library/ms532969(VS.85).aspx

ready to go javascript:
http://homepage.ntlworld.com/bobosola/

Oh, and the last IE8 beta i tested still didn't handle transparent PNGs and still didn't handle lots of W3C complient css code.


Sorry for the derailing of the thread.

Speedmonk42
02-05-2009, 02:59 PM
I am still curious what you do with a 16K by 16K image.

COBRASoft
02-05-2009, 04:36 PM
Yes it does, problem is you have to write a javascript that runs after page load (so have only IE read the javascript by placing it in the code using the <!--[if lt IE]> tag ) that traverses all PNG files and replaces the img src tag with an AlphaImageLoader filter.

http://msdn.microsoft.com/en-us/library/ms532969(VS.85).aspx

ready to go javascript:
http://homepage.ntlworld.com/bobosola/

Oh, and the last IE8 beta i tested still didn't handle transparent PNGs and still didn't handle lots of W3C complient css code.


Sorry for the derailing of the thread.

I know this hack, but it doesn't handle tranparent png automatically. Latest versions of IE do deal with it like they should, finally!

Red_Oddity
02-06-2009, 03:01 AM
I know this hack, but it doesn't handle tranparent png automatically. Latest versions of IE do deal with it like they should, finally!

Yup, but atleast it makes it work for now...i better download IE8 for testing again.

Also, i'm afraid i'll be using this hack for the next 10 years, as not every company we work with all of a sudden switched to IE8 (or Firefox for that matter)

Lightwolf
02-06-2009, 03:05 AM
Yup, but atleast it makes it work for now...
What's the fallback if JS is turned off for security reasons?

Cheers,
Mike

Captain Obvious
02-06-2009, 05:11 AM
I figured out what Photoshop's problem was! Basically, Photoshop always saves with the highest level of compression. This is obviously slower, but achieves higher compression. The Fnord plugin has four different compression levels. Photoshop produces files of the same size as the maximum setting in the plugin, and it takes about as long. Lightwave and XnView both produce files the same size as the plugin at the second-highest setting, again in about as long.

COBRASoft
02-06-2009, 06:50 AM
What's the fallback if JS is turned off for security reasons?

Cheers,
Mike

Then you won't get transparency :)

bjornkn
02-06-2009, 07:53 AM
What is even worse with PS and PNG is that when loading a PNG with alpha channel PS simpply deletes all the pixels where the alpha is black, instead of just loasing the alpha as an alpha channel like when loading TGA etc.
Is there a PS superPNG loader too?

Red_Oddity
02-06-2009, 08:35 AM
What's the fallback if JS is turned off for security reasons?

Cheers,
Mike

Than there's no transparency, so then an alternative would be to do a browser check with PHP and handle PNG use via your PHP page.

If only MS would play nice for once.

Lightwolf
02-06-2009, 09:08 AM
Than there's no transparency, so then an alternative would be to do a browser check with PHP and handle PNG use via your PHP page.
Now I remember why I charge extra for the for pain and suffering when doing web related work ;)

Cheers,
Mike

Captain Obvious
02-08-2009, 09:28 AM
Maybe we can do a class action lawsuit against Microsoft for pain and suffering caused by their rubbish PNG support? :D

Sande
02-08-2009, 09:50 AM
What is even worse with PS and PNG is that when loading a PNG with alpha channel PS simpply deletes all the pixels where the alpha is black, instead of just loasing the alpha as an alpha channel like when loading TGA etc.
Is there a PS superPNG loader too?

Yep, Photoshop and alpha channels in general are a match made in hell. Everyone looking for a fine example of How-Not-To-Communicate-With-Customers can read this fine lenghty [email protected]'s User to User-forums (http://www.adobeforums.com/[email protected]@.59b70e35/0), where Adobe's Chris Cox gives us a prime example... ;)

If I remember correctly, you can just rename and replace the original PNG-plugin from Photoshop with the SuperPNG, but while it loaded the alpha channel without destroying RGB-data with transparency, it also had some issues with ordinary PNG-files - so in the end I could not use it as a replacement.

It's been awhile since I tried though, so it may be worth a try...

Red_Oddity
02-08-2009, 11:22 AM
Now I remember why I charge extra for the for pain and suffering when doing web related work ;)

Cheers,
Mike

You have no idea (or, you probably do)...been working on a rewrite of our online content management and delivery system, so far i have been pulling my hair out for the last couple of weeks just trying to write endless amounts of hacks (in my initially very clean code) just to support that darn browser that 65% of the world insists on using.

Every thing works fine in Firefox, Opera, Safara, Konquerer, Chrome (yes even this couple of months old browser), every browser i throw at our system just works and display content the way i tell it to in the css files...except offcourse IE...

Charging extra is nearly not enough to waste time on support for that shoddy browser.

Earl
02-08-2009, 11:34 AM
What is even worse with PS and PNG is that when loading a PNG with alpha channel PS simpply deletes all the pixels where the alpha is black, instead of just loasing the alpha as an alpha channel like when loading TGA etc.
Is there a PS superPNG loader too?
I absolutely HATE this about Photoshop. This was the very reason I continued to use Corel Photo-Paint to open and work with PNG files, but sadly with their latest version (X4) they have also moved over to the PhotoLame style of destroying RGB information upon loading 32-bit PNGs.

Who the heck allows these amateurs to control development of supposedly professional software is completely beyond me. This is why Adobe will always be a second (or maybe third) rate company in my eyes.

bjornkn
02-08-2009, 02:33 PM
I use AcDSee to overcome the lost pixels problem in PS. AcDSee can read 32bit PNG, but not write it. So simply by saving a copy as PNG you end up with a 24bit copy of the original, with all the pixels there. It works, but it definitely shouldn't have to be like that.

Red_Oddity
02-08-2009, 02:40 PM
Yep, Photoshop and alpha channels in general are a match made in hell. Everyone looking for a fine example of How-Not-To-Communicate-With-Customers can read this fine lenghty [email protected]'s User to User-forums (http://www.adobeforums.com/[email protected]@.59b70e35/0), where Adobe's Chris Cox gives us a prime example... ;)

If I remember correctly, you can just rename and replace the original PNG-plugin from Photoshop with the SuperPNG, but while it loaded the alpha channel without destroying RGB-data with transparency, it also had some issues with ordinary PNG-files - so in the end I could not use it as a replacement.

It's been awhile since I tried though, so it may be worth a try...

Yes, this also clearly shows how inflexible and out of touch with their customers Adobe has become over the years, the fact that it takes people from ILM, Pixar, various vfx supervisors and one of the initial designers of the EXR format on the thread to have this limp wristed cox to even consider thinking about implementing a feature to handle the Alpha channel the way we want it to, says enough.

toby
02-09-2009, 03:15 AM
Yep, Photoshop and alpha channels in general are a match made in hell. Everyone looking for a fine example of How-Not-To-Communicate-With-Customers can read this fine lenghty [email protected]'s User to User-forums (http://www.adobeforums.com/[email protected]@.59b70e35/0), where Adobe's Chris Cox gives us a prime example... ;)

Oh My F'ing God. I thought my opinion of Adobe and Photoshop was at rock-bottom. But now there is a new low; Cox-bottom -

VFX represents a very small fraction of the people using the EXR file format. But Photoshop has to support everyone using the format, in many different workflows, interoperating with many other applications.
OpenEXR was CREATED FOR VFX you f****ing prick!!