Open Bug 1644307 Opened 4 years ago Updated 1 month ago

Firefox rounds pointermove position to dp instead of screen pixels, making Firefox less precise than Chrome

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P3)

Unspecified
All
defect

Tracking

()

Tracking Status
firefox77 --- affected
firefox78 --- affected
firefox79 --- affected

People

(Reporter: cpeterson, Unassigned)

References

(Blocks 2 open bugs, )

Details

(Keywords: parity-chrome)

Attachments

(1 file)

Attached file browser-rounding.html

Rasmus Andersson reports on Twitter: https://twitter.com/rsms/status/1270091648316223488

Chrome is the only browser which gets pointermove event data right. Safari and Firefox both incorrectly (IMHO) rounds pointer position to dp while Chrome rounds it to pixels, making pointer tracking 2x more precise in Chrome. (in the demo, move the dark ["Pointermove precision Click & drag me"] boxes.)

Link to the demo: https://rsms.me/etc/browser-rounding/

I attached a copy of the demo for posterity.

When I zoom my Windows laptop's HiDPI touchscreen and slowly touch drag the "Pointermove precision Click & drag me" box, Firefox only has about 3 stops between grid lines while Chrome has about 10 stops.

Rasmus also reports: https://twitter.com/rsms/status/1270090766971318272

... Safari and Chrome does better ... rendering things with "anti-alias" during transform transitions. It's almost like motion blur and has the effect of making things look smoother on low density displays.

Are animations affected by the same precision rounding as pointermove? Or is this a different (graphics?) issue?

Hi Edgar,
Could you please help to take a look? Thank you.

Severity: -- → S3
Flags: needinfo?(echen)
Priority: -- → P3
Component: DOM: Events → DOM: UI Events & Focus Handling

The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.

Priority: P3 → --
Assignee: nobody → echen
Blocks: 822898
Flags: needinfo?(echen)
Priority: -- → P3
Assignee: echen → nobody
Blocks: pointerevent
No longer blocks: 822898
Blocks: 1680669
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: