Rendering in Fennec depends on scroll position

NEW
Unassigned

Status

()

6 years ago
3 years ago

People

(Reporter: jrmuizel, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
On this page: http://people.mozilla.com/~jmuizelaar/ on a Nexus S in landscape mode the thickness of the underline on some words seems to depend on scroll position.

i.e. zooming in and then back out at different scroll position produces a different rendering of the underline.

This may be related to bug 763838
(Reporter)

Comment 1

6 years ago
This also happens on this page http://www.craftymind.com/guimark3/ where the lines of table appear and disappear depending on the scroll position.
(Reporter)

Updated

6 years ago
Blocks: 771374
(Reporter)

Updated

6 years ago
Summary: Thickness of underline changes in Fennec depending on scroll position → Rendering in Fennec depends on scroll position
(Reporter)

Comment 2

6 years ago
I talked with roc about this and it sounds like this won't be easy to fix.
(Reporter)

Comment 3

6 years ago
So it appears the only reasonable solution to this is to make sure that any rounding to layer pixels always happens the same way and that the scroll translation always happens in layer pixels.

It looks like webkit handles this by always drawing RenderObjects at the same points and using the translation of the GraphicsContext CTM to adjust for the scroll position.
(In reply to Jeff Muizelaar [:jrmuizel] from comment #3)
> It looks like webkit handles this by always drawing RenderObjects at the
> same points and using the translation of the GraphicsContext CTM to adjust
> for the scroll position.

That alone isn't enough, though. After scaling and translating, you could still end up with different subpixel offsets in device space and hence different snapping behavior depending on what the translation is.
(Reporter)

Comment 5

6 years ago
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #4)
> (In reply to Jeff Muizelaar [:jrmuizel] from comment #3)
> > It looks like webkit handles this by always drawing RenderObjects at the
> > same points and using the translation of the GraphicsContext CTM to adjust
> > for the scroll position.
> 
> That alone isn't enough, though. After scaling and translating, you could
> still end up with different subpixel offsets in device space and hence
> different snapping behavior depending on what the translation is.

The final translation is always an integer number of pixels so the snapping behaviour will always be the same.

Updated

6 years ago
Blocks: 783368
You need to log in before you can comment on or make changes to this bug.