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)
Tracking
()
People
(Reporter: cpeterson, Unassigned)
References
(Blocks 2 open bugs, )
Details
(Keywords: parity-chrome)
Attachments
(1 file)
7.91 KB,
text/html
|
Details |
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.
Reporter | ||
Comment 1•4 years ago
|
||
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?
Comment 2•4 years ago
|
||
Hi Edgar,
Could you please help to take a look? Thank you.
Updated•4 years ago
|
Comment 3•4 years ago
|
||
The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.
Updated•4 years ago
|
Comment 4•4 years ago
|
||
The MouseEvent.clientX/clientY is original long type, https://w3c.github.io/uievents/#dom-mouseevent-clientx.
And changes to double
type in CSSOM-View spec, https://drafts.csswg.org/cssom-view/#dom-mouseevent-clientx.
UI Event spec issue for this change, https://github.com/w3c/uievents/issues/24.
And Blink has moved to double
type, https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/events/mouse_event.idl;l=28;drc=035ad13ca11618ee85f9b32e45a36ddae6104424?originalUrl=https:%2F%2Fcs.chromium.org%2F.
Updated•4 years ago
|
Updated•3 years ago
|
Description
•