Huge first post, I have tried to keep it concise, thank-you, for reading.
The combination of:
1) 16bpc image; containing a non-empty layer, with layer style of:
2) Stroke: Shape Burst: Gradient; and
3) transparency in the gradient (solid red > semi-transparent white) of the stroke:
causes the entire stroke to render transparent. Changing any one of points 1), 2), or 3) causes the entire stroke to render as expected. For example, starting with an image with this combination of 16bpc/shape burst/transparency in the gradient:
- just switching from 16bpc to 8/32bpc renders the stroke correctly. Switching back to 16bpc, the stroke turns transparent.
- just switching from shape burst to radial renders the stroke (as radial) correctly. Switching back to shape burst renders the stroke transparent.
- just changing the gradient to solid red > solid white renders the stroke correctly. Changing the gradient to solid red > semi-transparent white renders the entire stroke transparent.
8bpc + shape burst + transparency in gradient = correct, partially visible
8bpc + shape burst + solid gradient = correct, visible
8bpc + radial + transparency in gradient = correct, partially visible
8bpc + radial + solid gradient = correct, visible
16bpc + shape burst + transparency in gradient = incorrect, transparent
16bpc + shape burst + solid gradient = correct, visible
16bpc + radial + transparency in gradient = correct, partially visible
16bpc + radial + solid gradient = correct, visible
32bpc + shape burst + transparency in gradient = correct, partially visible
32bpc + shape burst + solid gradient = correct, visible
32bpc + radial + transparency in gradient = correct, partially visible
32bpc + radial + solid gradient = correct, visible
- The stroke is still there in this combination, as also applying a drop shadow reveals the drop shadow is offset a distance by the thickness of the stroke, it just renders the stroke completely transparent.
- The layer itself and any other layer styles remain visible.
- This is all at 100%/Actual Pixels (since this is sometimes an issue). Interestingly, zooming out below ~60%, the stroke renders correctly, but zooming in again it turns transparent. The navigation preview renders the stroke correctly at all levels of zoom.
- Flattening/rasterizing still renders the stroke transparent.
- Same for new/existing/duplicated files.
- Same for sRGB/ProPhoto/unmanaged.
- Same after Purging
- Same after restarting.
- Same for PSD/PSB.
- Same for x32 (on Win7x64) and x64 (on Win7x64).
- Same for disabled/enabled GPU.
I have a workaround, changing the gradient, for example:
Solid red > transparent red; to
Solid red > solid white; and setting blending mode to linear dodge.
This is very inconvenient however, and doesn't always look the same. I am converting ~400 multi-layered 8bpc psd's to 16bpc to eliminate a prevalent banding issue (many gradient layers, gradient masks and gradient styles), many featuring this combination. The conversion was easily batched for the 8>16bpc part, but missing the layer styles in this combination. Processing the layers with this combination/workaround will need to be done manually due to different colour combinations, directions, amounts etc. They are all unique compositions with little similarity.
Flattening/Merging the layers in 8bpc first to preserve the stroke and then converting to 16bpc defeats the purpose of converting to 16bpc to eliminate the banding.
Similarly, I could use 32bpc smart layers for these layers, but that still means finding the offending layers manually.
As a last resort I tried converting to 32bpc, but some of the more exotic blending styles used are unavailable in 32bpc; the files are already huge, some of them PSB, so that is another factor; and I get a contrast shift when converting 8bpc to 32bpc that doesn't occur when converting 8bpc > 16bpc (they were originally created on a non profiled monitor with unmanaged colour [mistake made when transitioning from sRGB CRT > wide gamut LCD]).
Thank-you for reading.
CS6 Mstr Coll PSx32|PSx64 Win7x64 16GB i5-750 GTS-250 1GB