Closed Bug 1207258 Opened 6 years ago Closed 6 years ago

FF41 ignores DirectWrite setting

Categories

(Core :: Graphics: Text, defect)

41 Branch
x86
Windows 10
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox44 --- fixed

People

(Reporter: whateverever, Assigned: milan)

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; rv:41.0) Gecko/20100101 Firefox/41.0
Build ID: 20150917150946

Steps to reproduce:

With Firefox 40 using Windows 10, the way fonts were rendered, was changed for the worse. By following the steps described on the Mozilla support page (https://support.mozilla.org/de/questions/1079656), I was able to return things back to normal:

I set gfx.font_rendering.directwrite.enabled to true and mozilla.widget.render-mode to 6.

Fonts were rendered as smooth as... well, Windows possibly can. I was content. Then I upgraded to Firefox 41.


Actual results:

Having upgraded to Firefox 41, my settings on the about:config page are ignored. I have tried my best, having re-set the settings to default and back while restarting Firefox. But no, the fonts looks terribly rendered throughout the entire process, especially when Helvetica Neue is used. (Again, do look at the support page linked above to see examples.)


Expected results:

I want Firefox to "respect" my choice on whether or not I'd like DirectShow to be activated.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86
Component: Untriaged → Graphics: Text
Product: Firefox → Core
Culd you attach a screenshot of the issue, please.

Maybe a side-effect of bug 1185812.
Flags: needinfo?(whateverever)
Attached image ff40.png
It's not just Helvetica Neue. All the other fonts are affected as well.
Flags: needinfo?(whateverever)
Did you test with a fresh profile as you changed some prefs?
https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
(In reply to Loic from comment #3)
> Did you test with a fresh profile as you changed some prefs?
> https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-
> firefox-profiles

Now I have, and that didn't help either.

I have even reproduced this by installing Firefox Portable 40.0.3, activating DirectShow according to the link posted in my first entry, and forcing an update to FF41 Portable. This time again, fonts are rendered so much worse than before.
I don't mean to be impatient, but... what's next? I don't want to stick FF 40.0.3 any longer due to security reasons.
Bas, can you take a look at this?
Flags: needinfo?(bas)
For what it's worth, the problem still persists with Firefox 41.0.1.
Summary: FF41 ignores DirectShow setting → FF41 ignores DirectWrite setting
(In reply to whateverever from comment #0)
> User Agent: Mozilla/5.0 (Windows NT 10.0; rv:41.0) Gecko/20100101
> Firefox/41.0
> Build ID: 20150917150946
> 
> Steps to reproduce:
> 
> With Firefox 40 using Windows 10, the way fonts were rendered, was changed
> for the worse. By following the steps described on the Mozilla support page
> (https://support.mozilla.org/de/questions/1079656), I was able to return
> things back to normal:
> 
> I set gfx.font_rendering.directwrite.enabled to true and
> mozilla.widget.render-mode to 6.
> 
> Fonts were rendered as smooth as... well, Windows possibly can. I was
> content. Then I upgraded to Firefox 41.
> 
> 
> Actual results:
> 
> Having upgraded to Firefox 41, my settings on the about:config page are
> ignored. I have tried my best, having re-set the settings to default and
> back while restarting Firefox. But no, the fonts looks terribly rendered
> throughout the entire process, especially when Helvetica Neue is used.
> (Again, do look at the support page linked above to see examples.)
> 
> 
> Expected results:
> 
> I want Firefox to "respect" my choice on whether or not I'd like DirectShow
> to be activated.

Sorry, of course I'm talking about DirectWrite, not DirectShow.
AIUI, bug 1193641 removed the DirectWrite pref, or at least caused it to be ignored; so there's no longer a way to make Firefox use DirectWrite font rendering if it's not using Direct2D graphics.
(In reply to Jonathan Kew (:jfkthame) from comment #9)
> AIUI, bug 1193641 removed the DirectWrite pref, or at least caused it to be
> ignored; so there's no longer a way to make Firefox use DirectWrite font
> rendering if it's not using Direct2D graphics.

Thanks for your reply. Am I right in assuming that was intentional? Did I get that right? If so, that'd be the final straw for me. I'd hate to leave Firefox for good.
I don't know what plans the graphics team has in this area; dropping the option to use dwrite (without d2d) was a surprise to me. cc'ing people who should know.....
Flags: needinfo?(milan)
Flags: needinfo?(dvander)
Yes it was intentional. DWrite without D2D isn't/wasn't a supported configuration when I asked around, and we got reports of text not rendering when the pref was enabled. I guess we could add it back but it should be named "force-enabled" so it's clearer that it's doing something not recommended.
Flags: needinfo?(dvander)
(In reply to David Anderson [:dvander] from comment #12)
> Yes it was intentional. DWrite without D2D isn't/wasn't a supported
> configuration when I asked around, and we got reports of text not rendering
> when the pref was enabled. I guess we could add it back but it should be
> named "force-enabled" so it's clearer that it's doing something not
> recommended.

Yeah, I actually prefer DWrite rendering on GDI surfaces over actual GDI rendering as well so this is probably a good idea. It's an untested config, but that's why it's a custom pref in my mind.
Flags: needinfo?(bas)
Whiteboard: [gfx-noted]
What's your about:support say about graphics?  I just want to make sure that we test with the right configuration.
Flags: needinfo?(milan)
Something like this?
Attachment #8669838 - Flags: feedback?(dvander)
Comment on attachment 8669838 [details] [diff] [review]
Allow the users to force DWrite without D2D.

Review of attachment 8669838 [details] [diff] [review]:
-----------------------------------------------------------------

Yeah, looks good to me.
Attachment #8669838 - Flags: feedback?(dvander) → review+
Assignee: nobody → milan
Adding a pref, and new code only triggers for the non-default value of that pref, so skipping the try run to save some electricity.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/e0158ed86517
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
I'm not sure this fix is actually working. I've got DevEdition44 running in a Win7 VMware VM where hardware acceleration is blacklisted, and about:support shows DirectWrite as disabled even with "gfx.font_rendering.directwrite.force-enabled" set to true.

Graphics
--------
Adapter Description: VMware SVGA 3D
Adapter Drivers: vm3dum
Adapter RAM: 1024
Asynchronous Pan/Zoom: none
Device ID: 0x0405
Direct2D Enabled: Blocked for your graphics card because of unresolved driver issues.
DirectWrite Enabled: false (6.1.7601.17514)
Driver Date: 7-29-2014
Driver Version: 8.14.1.51
GPU #2 Active: false
GPU Accelerated Windows: 0/1 Basic (OMTC) Blocked for your graphics card because of unresolved driver issues.
Subsys ID: 040515ad
Supports Hardware H264 Decoding: No; Hardware video decoding disabled or blacklisted
Vendor ID: 0x15ad
WebGL Renderer: Blocked for your graphics card because of unresolved driver issues.
windowLayerManagerRemote: true
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0

Important Modified Preferences
------------------------------
gfx.font_rendering.directwrite.force-enabled: true
Flags: needinfo?(milan)
Probably because you don't have any acceleration, so DirectX isn't playing at all, but David can confirm.
Flags: needinfo?(milan) → needinfo?(dvander)
Ah yes, it works with layers.acceleration.force-enabled set to true. Thanks :)
Flags: needinfo?(dvander)
You need to log in before you can comment on or make changes to this bug.