Re: [pointerevents] Pointermove should not require a hit-test by default for touch

Here's a summary of the argument and data I presented on this at the 
[implementation 
hackathon](https://docs.google.com/document/d/1b8aJOJcGXakstFJslKl87QwvlFHhHwGbQfJwnUTBBHg/edit#):

We (Chrome team) feel apps being able to deliver reliable 60fps 
JS-driven dragging on mobile devices is essential for the web to 
effectively compete with native mobile platforms.  In such scenarios 
there's 16ms per frame to get work done, and we generally aim to leave
 at least 2/3rds of that for developer-written JS.  That gives the 
engine a budget of 6ms per frame.  Chrome Android data from the field 
(see below) indicates a median hit-test time of 0.5ms, which would be 
a substantial 8% of this 6ms budget.  Worse, the 95th percentile is 
6ms and the 99th percentile hit-test time is 20ms - so in many 
scenarios the hit-test time alone would make it impossible to meet 
this budget.

Therefore we feel it's critical that developers aren't subject to this
 cost unless they explicitly opt-into it by requesting a feature that 
requires it.  It's possible that we could reduce this time 
dramatically by a complete re-write of our hit-test system, but that 
would be a major undertaking - probably delaying our ability to ship 
pointer events by at least a year.   Even then we'd be unlikely to see
 such a huge improvement that we'd be comfortable imposing this 
penalty on the web when Android and iOS don't have such a design.

![Chrome Android hit-test times 
graph](https://cloud.githubusercontent.com/assets/1280419/17218707/9f0be39c-549d-11e6-8766-3dde477a4602.png)


-- 
GitHub Notification of comment by RByers
Please view or discuss this issue at 
https://github.com/w3c/pointerevents/issues/8#issuecomment-235935356 
using your GitHub account

Received on Thursday, 28 July 2016 15:43:22 UTC