Firefox on Windows does not follow the current gamma values for font smoothing
Categories
(Core :: Graphics: Text, defect)
Tracking
()
People
(Reporter: ch4sys, Assigned: jfkthame)
References
Details
(Keywords: perf-alert)
Attachments
(1 file, 1 obsolete file)
223.31 KB,
image/png
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Steps to reproduce:
In Windows (Windows 10 specifically), ClearType Tuner writes gamma to a registry value HKCU\Control Panel\Desktop FontSmoothingGamma.
At the same time, it always writes the value 2200 to the registry value HKCU\SOFTWARE\Microsoft\Avalon.Graphics\DISPLAY1 GammaLevel.
The system uses the first value! But Firefox uses the latter - and therefore does not show the fonts the way the user wants.
Example. the first is 2200, the second is 2200. The fonts look the same in the System and in Firefox.
https://i.imgur.com/M9clg5Z.png
Change the gamma value to 1000 and 2200, sign out, sign in.
Actual results:
The result is attached. (Duplicate https://i.imgur.com/iHHCWe0.png )
In the system, the fonts have become thicker, in Firefox they have not changed.
Expected results:
Fonts should be thicker in Firefox too.
This can be achieved by changing the second parameter manually.
1000 and 1000. Sign out, sign in.
Fonts have become thicker in Firefox too.
https://i.imgur.com/6q1wXto.png
Of course, the system always follows the first value.
Change the first, leave the second the same.
2200 and 1000. Sign out, sign in.
The system has changed, Firefox has not.
https://i.imgur.com/4y3aDpO.png
Reporter | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 1•1 year ago
|
||
Lee, who would be the right person to look in to this?
Assignee | ||
Comment 3•1 year ago
|
||
Looking here, we don't seem to get the gamma value directly by reading the Avalon.Graphics\DISPLAY1
registry key; we get it from the defaultRenderingParams that the DWriteFactory gave us. Where the factory got it from is unclear to me.
Anyhow, presumably this is what ends up being passed through the platform font options to WebRender, and eventually used when we render.
I'm not at all sure how these various registry values are supposed to be used, or how they interact with each other. Maybe we should be looking at Control Panel\Desktop
in the registry and using that in preference to the defaultRenderingParams value?
Assignee | ||
Comment 4•1 year ago
|
||
Updated•1 year ago
|
Assignee | ||
Comment 5•1 year ago
|
||
So we could try doing something like this, though it'll need some adjustments to reftest fuzz numbers. Try run: https://treeherder.mozilla.org/jobs?repo=try&revision=c66f4adb9ffa5dacc04d266c3e32fe2362bb7d04
Comment 6•1 year ago
|
||
I can't seem to set this up on my end, I have a Windows 10 machine, but after changing both FontSmoothingGamma - 1000 and Avalon.Graphics > Default - 1000, there is no difference on my Windows machine, text still looks the same (everywhere not just in Firefox), I only have the default file in the Avalon.Graphics, I havent seen the Display1 folder in the Avalon.Graphics, could that be the reason ?
Assignee | ||
Comment 7•1 year ago
|
||
(In reply to Rares Doghi from comment #6)
I can't seem to set this up on my end, I have a Windows 10 machine, but after changing both FontSmoothingGamma - 1000 and Avalon.Graphics > Default - 1000, there is no difference on my Windows machine, text still looks the same (everywhere not just in Firefox), I only have the default file in the Avalon.Graphics, I havent seen the Display1 folder in the Avalon.Graphics, could that be the reason ?
I wonder if the presence of Display1 etc is dependent on having multiple displays? But that's just a guess.
Comment 8•1 year ago
|
||
Hi @jonathan , I tried this on a Machine with only 1 monitor, a Laptop with an external monitor and another Desktop machine with 2 external monitors and Avalon.Graphics still does not have any folders for Display1, only the default key.
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics - this is the path I was looking into.
We also tried on a Windows 7 machine with 2 external monitors and we do see the Avalon.Graphics /Display1 and Display2 folders there but on the same machine with Windows 10 those folders are missing.
Reporter | ||
Comment 9•1 year ago
|
||
(In reply to Rares Doghi from comment #8)
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics - this is the path I was looking into.
I checked in Windows Sandbox. DISPLAY1 appears after using ClearType Text Tuner.
Comment 10•1 year ago
|
||
Thanks @chaotic_sys, thats what I was missing(I had to go through the ClearType Text Tuner steps).
I was also able to reproduce this issue in our Lastest Nightly 109.0a1 (2022-11-24), Release 107, Beta 108.0b5 and ESR 102.
Updated•1 year ago
|
Comment 11•1 year ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/516ad0cab188 Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Comment 12•1 year ago
•
|
||
Backed out for causing reftest failures on 411334-1.xml
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/bugs/411334-1.xml == layout/reftests/bugs/411334-1-ref.xml | image comparison, max difference: 138, number of differing pixels: 770
Failure log: https://treeherder.mozilla.org/logviewer?job_id=397591047&repo=autoland
Failure line: REFTEST TEST-UNEXPECTED-FAIL | gfx/tests/reftest/picture-caching-on-async-zoom.html == gfx/tests/reftest/picture-caching-on-async-zoom.html?ref | image comparison, max difference: 112, number of differing pixels: 3430
Wpt failures: https://treeherder.mozilla.org/logviewer?job_id=397591991&repo=autoland
wpt failure line: TEST-UNEXPECTED-FAIL | /css/CSS2/normal-flow/min-height-106.xht | Testing http://web-platform.test:8000/css/CSS2/normal-flow/min-height-106.xht == http://web-platform.test:8000/css/CSS2/normal-flow/max-height-107-ref.xht
Comment 13•1 year ago
|
||
Backout by ncsoregi@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/e12f31999d33 Backed out changeset 516ad0cab188 for causing reftest failures on 411334-1.xml CLOSED TREE
Comment 14•1 year ago
|
||
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/eb18297f8db8
Comment 15•1 year ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3fbfc9299ac6 Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Comment 16•1 year ago
|
||
Backed out for causing reftest failures on simple-underline-selection.svg
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/simple-underline-selection.svg == layout/reftests/svg/text/simple-underline-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 200
REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/multiple-text-selection.svg == layout/reftests/svg/text/multiple-text-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 382
Comment 17•1 year ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c1b0ce76a51b Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Comment 18•1 year ago
|
||
bugherder |
Assignee | ||
Updated•1 year ago
|
Comment 19•1 year ago
|
||
Verified as fixed in our latest Nightly build 109.0a1 (2022-11-27) , changing the FontSmoothingGamma from Desktop will also affect Firefox now.
Comment 20•1 year ago
|
||
The patch landed in nightly and beta is affected.
:jfkthame, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox108
towontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 21•1 year ago
|
||
I don't think we should uplift this. It was a long-standing and fairly minor cosmetic issue, and it's also not currently clear whether the change is actually good (see bug 1803154); we may want to reconsider it.
Comment 22•1 year ago
|
||
(In reply to Cristian Tuns from comment #16)
Backed out for causing reftest failures on simple-underline-selection.svg
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/simple-underline-selection.svg == layout/reftests/svg/text/simple-underline-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 200
REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/multiple-text-selection.svg == layout/reftests/svg/text/multiple-text-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 382
== Change summary for alert #36214 (as of Mon, 28 Nov 2022 16:52:31 GMT) ==
Improvements:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
4% | google-docs ContentfulSpeedIndex | windows10-64-shippable-qr | cold fission webrender | 1,257.96 -> 1,209.75 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=36214
Updated•1 year ago
|
Comment 23•1 year ago
|
||
(In reply to Cristian Tuns from comment #16)
Backed out for causing reftest failures on simple-underline-selection.svg
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/simple-underline-selection.svg == layout/reftests/svg/text/simple-underline-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 200
REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/svg/text/multiple-text-selection.svg == layout/reftests/svg/text/multiple-text-selection-ref.html | image comparison, max difference: 63, number of differing pixels: 382
== Change summary for alert #36229 (as of Tue, 29 Nov 2022 13:57:56 GMT) ==
Regressions:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
4% | google-docs ContentfulSpeedIndex | windows10-64-shippable-qr | cold fission webrender | 1,212.33 -> 1,266.33 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=36229
Comment 24•1 year ago
|
||
== Change summary for alert #36230 (as of Tue, 29 Nov 2022 13:58:05 GMT) ==
Improvements:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
4% | google-docs ContentfulSpeedIndex | windows10-64-shippable-qr | cold fission webrender | 1,258.47 -> 1,202.94 |
4% | google-docs ContentfulSpeedIndex | windows10-64-shippable-qr | fission warm webrender | 1,059.18 -> 1,016.23 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=36230
Updated•1 year ago
|
Assignee | ||
Comment 26•1 year ago
|
||
Just to note for the record: in bug 1803154, we have just backed out the patch that landed here. So the rendering will revert to how it was previously.
The various reports in bug 1803154 provide more background. It seems like things are more complex than we originally thought here, depending on various user settings (and maybe Windows version?), so we'll need to investigate and test more extensively when we try afresh to address this issue.
Updated•1 year ago
|
Description
•