Text is blurry in Responsive Design Mode with full zoom > 100% (with WebRender disabled)
Categories
(DevTools :: Responsive Design Mode, defect, P4)
Tracking
(Not tracked)
People
(Reporter: botond, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug, Regression)
Details
(Keywords: regression)
STR
- Run Firefox nightly
- Load https://en.m.wikipedia.org/wiki/Main_Page
- Enter Responsive Design Mode
- Increase the full-zoom to 150%
Expected results
The text on the page gets re-rendered at the increased zoom level and looks sharp, comparable to viewing the page at 150% outside of RDM.
Actual results
The text appears to be scaled up without re-rendering, resulting in a blurry look.
Comment 1•4 years ago
|
||
Hmm.. it's staying sharp for me. Could be a platform or prefs issue? Here's the ones that I have set to non-default values that could possibly be relevant. I'm on macOS:
apz.allow_zooming true
apz.minimap.enabled true
devtools.responsive.touchSimulation.enabled true
devtools.responsive.viewport.pixelRatio 2
devtools.responsive.browserUI.enabled true
gfx.webrender.all true
Does any of this change the outcome for you?
Updated•4 years ago
|
Reporter | ||
Comment 2•4 years ago
|
||
Yes, disabling WebRender fixes the issue!
Adjusting bug title to reflect that this is specific to non-WebRender.
Reporter | ||
Comment 3•4 years ago
|
||
This is a regression. I'm working on a regression window.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 5•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #2)
Yes, disabling WebRender fixes the issue!
Adjusting bug title to reflect that this is specific to non-WebRender.
I re-tested with gfx.webrender.all
false and still can't reproduce (on macOS). Platform-specific to Linux? Maybe include a video in case I'm not following your steps correctly.
Reporter | ||
Comment 6•4 years ago
|
||
Unfortunately, gfx.webrender.all=false
does not disable WebRender if it's enabled by default, you have to use gfx.webrender.force-disabled=true
(see bug 1585091).
Note, you can always check whether WebRender is actually enabled by going to about:support and checking Graphics -> Features -> Compositing. If WebRender is enabled, it will say "WebRender", otherwise it will say something else (e.g. "Basic" or "OpenGL").
Comment 7•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #6)
Unfortunately,
gfx.webrender.all=false
does not disable WebRender if it's enabled by default, you have to usegfx.webrender.force-disabled=true
(see bug 1585091).Note, you can always check whether WebRender is actually enabled by going to about:support and checking Graphics -> Features -> Compositing. If WebRender is enabled, it will say "WebRender", otherwise it will say something else (e.g. "Basic" or "OpenGL").
Great, I can reproduce now. Thank you. So the root cause is likely some path in APZ that isn't being hit, where the textures would be resampled when zoom is applied. Must be confused by the layer context(?). I'll go looking for it. Any insights you can provide into how those paths work will likely reduce the time it will take me to find a solution.
Reporter | ||
Comment 8•4 years ago
|
||
While APZ does have the ability to scale up a rendered texture in the compositor, I would expect this to come into play only during pinch-zooming (and then only temporarily). For full-zoom changes, I would expect the main-thread to repaint at a new scale that factors in the full-zoom from the get-go.
So, I think the place to start looking is the place where the main thread chooses a scale at which to rasterize content and takes into account transforms. For non-WebRender, I believe that's around here.
Comment 9•4 years ago
|
||
WebRender is the future. I'm marking this as lower priority.
Comment 10•4 years ago
|
||
I'm getting pulled onto other things. Taking myself off for now.
Comment 11•2 years ago
|
||
This was fixed by the removal of Basic compositing in favor of Software Webrender.
Description
•