Photoshop CC 2017: Transparency renders incorrectly (and still occurring in april update)

  • 2
  • Problem
  • Updated 1 year ago
  • (Edited)
Problem
Gradients should display linearly, as it does with matte backgrounds. But on a transparent background, it seems to display exponentially.

The outputted PNG files are displaying as expected even if seeming broken in Photoshop.



There is also some kind of weird dithering happening near the 0 point (black) when in 8bit. This can be resolved when using 16bit. The "exponential" transparency gradient is still present in 16bit.



Debug process (all failed)
  1. We tried to change color profiles: sRGB IEC61966-2.1, Adobe RGB (1998), Monitor RGB (Don't color manage)
  2. We tried disabling GPU functionalities.
  3. We tried updating GPU drivers
  4. Witnessed on both Windows 10 and MacOS Sierra versions of Photoshop 2017, and april update.
Additional information
  1. Outputted PNGs display normally in IrfanView
  2. Outputted PNGs display normally in Illustrator CC 2017.1.0
  3. Outputted PNGs display normally in Animate CC 2017.2
  4. Outputted PNGs display normally in Browsers (Firefox, Chrome, Safari)
  5. 32bit images display an exponential gradient in both Matte and Transparent gradients.
Photo of Guillaume Pinard

Guillaume Pinard

  • 2 Posts
  • 0 Reply Likes
  • perplexed

Posted 1 year ago

  • 2
Photo of Bruce Jamieson

Bruce Jamieson

  • 59 Posts
  • 11 Reply Likes
Have you tried this:
Color settings > Advanced Controls > Click ON "Blend RGB Colors Using Gamma" and make sure it says "1.0."

Take note if you decide to change this, because unlike an ICC profile mismatch, Photoshop will not throw up a warning that it is changed when you open up other documents. If you work with transparency and blending modes elsewhere in your file this setting may give you unexpected results. If you work with a team there may be plenty of head scratching and hand wringing if your file doesn't explicitly say you changed this setting. Good luck!
Photo of Bruce Jamieson

Bruce Jamieson

  • 59 Posts
  • 11 Reply Likes
You'll find that the brushing on the right side checkerboard is actually the "correct" way that it is blended. This isn't an error, it's fun with gamma! Linear gamma (1.0) gives the most predictable results when working with blending modes, and is the default for 32 bit images. It's great for CGI renders and if you use lots of blending modes! BUT. We usually let the ICC profile dictate the gamma (usually 2.2 these days), which gives a more human-friendly gradient.
Photo of Guillaume Pinard

Guillaume Pinard

  • 2 Posts
  • 0 Reply Likes
Thank you very much Bruce for the quick and insightful response. 
Now "Blend RGB Colors Using Gamma" checked and at 1.0 seems to have fixed the issue, but partially (see attached image): now, both transparency and matte look the same in Photoshop, but it's the outputted PNG's transparency that doesn't seem to render the same. Any tips?

Also, we still have that odd dithering around in 8bit.

Basically, what we try to ultimately achieve is keeping the old behaviour we used to have in previous photoshop versions: a more linear gradient that is easier to predict how it behaves, and that draws the same in photoshop and its output files. We only do 2D and PNGs so we don't quite benefit from that level of precision compared to the hassle of drawing an adequate gradient. And it's driving mad our artists!

Photo of Jonas M. Rogne

Jonas M. Rogne

  • 81 Posts
  • 7 Reply Likes
It is due to a bug in Photoshop that causes Ps to always use Linear gamma when blending with the transparency grid (instead of honoring the gamma of the document).

It is unrelated to bit depth, file format, etc.

Workaround is to put a layer behind it (e.g. an image of the grid instead of the actual grid) to get a realistic preview while editing.

To Cox or whoever at Adobe manages this forum these days:
I recommend merging this with this post that describes the same problem: https://feedback.photoshop.com/photoshop_family/topics/photoshop-wrong-gamma-when-blending-with-tran...
(Edited)