Closed Bug 1474141 Opened Last year Closed Last year

Blurry SVG image post milestone 66

Categories

(Core :: SVG, defect, P3)

60 Branch
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox63 --- fix-optional

People

(Reporter: yoasif, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0
Build ID: 20180706224413

Steps to reproduce:

Navigate to https://troyciv.github.io/anki/2018/07/04/anki-fundamentals.html and look at image embedded there (https://troyciv.github.io/assets/img/anki-flowchart-4.svg)


Actual results:

I see blurry text in this SVG, where previously text was sharp. 


Expected results:

Sharp text in the SVG.

See comparison vs. Chromium screenshot. 

10:13.00 INFO: Last good revision: 4b472939ee78c3221dcca484395187f765e44912
10:13.00 INFO: First bad revision: f3410beb9eb1515c041a343ed077f3b2399ecee2
10:13.00 INFO: Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=4b472939ee78c3221dcca484395187f765e44912&tochange=f3410beb9eb1515c041a343ed077f3b2399ecee2
Blocks: 1444506
Has Regression Range: --- → yes
Has STR: --- → yes
Keywords: regression
Flags: needinfo?(lsalzman)
Component: General → SVG
The root cause here is that the SVG itself has a "translate(0.5, 0.5)" inside it, which offsets the sampling by half of a pixel.

In the older version of Skia, there used to be some weird code that would actually ignore subpixel offsets when sampling, effectively doing point sampling. This was a legacy Skia bug that was enshrined into a legacy Skia "feature". Then at some point Skia upstream got rid of compatibility with this legacy bug entirely, since it wasn't consistent with how the GPU or other platform-native 2D APIs were doing things.

Our Direct2D backend renders the SVG the same way as Skia does post-update, or rather, Skia post-update now finally is consistent with our Direct2D backend, which honors the "translate(0.5, 0.5)" correctly.
Flags: needinfo?(lsalzman)
See Also: → 1311464
I think this is essentially wontfix. Being consistent across platforms is a good thing, even if the rendering is undesirable for certain SVGs. Fixing that general potentially undesirable behavior is already covered by bug 608812 (and at least one other I think).
Status: NEW → RESOLVED
Closed: Last year
Priority: -- → P3
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.