Let me try to run a couple of tests and see if we either can quantify it in any metrics or create videos and see if we see any difference.
Description
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Declined | None | T118509 Evaluate using `touch-action: manipulation;` | |||
| Declined | None | T385767 Run synthetic tests to measure the impact of touch-action: manipulation; |
Event Timeline
The way to test this I think is to get the trace log from Chrome from the two difference scenarios (you could actually do it without automation as long as you connect your phone to your desktop computer) where we click on an element. It's important to use the action API so that the right events are fired.
Then if I'm correct we can just compare the two different traces and see if we can see any difference (looking for a long delay).
Hmm I cannot see any delay in the first place. First if I automate I run a script like this:
/**
* @param {import('browsertime').BrowsertimeContext} context
* @param {import('browsertime').BrowsertimeCommands} commands
*/
export default async function touch (context, commands) {
await commands.measure.start('before');
await commands.navigate(
'https://en.wikipedia.org/speed-tests/Ensatina-touch-action/before/Ensantina.html'
);
const elementToClick = await commands.element.getById('ca-edit');
await commands.action.getActions().click(elementToClick).perform();
await commands.wait.byTime(1000);
await commands.measure.stop();
}And then I run sitespeed.io touch.mjs -n 1 --multi --cpu -o --android. And the drag/drop the trace log from Chrome to look at where the time is spent.
But if you want to try it yourself the easiest way is to hook up your Android phone and follow the instructions in https://developer.chrome.com/docs/devtools/remote-debugging. That works except open a tab with a specific URL (at least for me) so you need to manually enter the URL in Chrome.
Then you can record a performance trace and manually interact with the page on the phone. We get a 80-100 ms presentation delay on both.
I uploaded two traces from my Samsung A51 (I think you need to open URLs in Chrome for it to work) and look at the interaction track. What I do is scroll the page and then click on "Description" and a couple of other folded submenus.
Before:
https://trace.cafe/t/BCTVn5Kc4a
After:
https://trace.cafe/t/mhq7HD8BhS
I think the last time we had the problem with the extra X ms delay, it was visible in the interaction track in Chrome.
I wonder if there's a better/other way to test it, do you have any ideas @Jdlrobson ?
In T358380 the current delay was measurable but I don't see that now when I test (I don't see a delay in the trace logs). Is that something we have seen? I've checked the video in the videos in T174002 and I don't see that there either and I think we need to see it in the trace to know its a real thing.
I couldn't reproduce this. Closing, let me know if you can see it in the trace and I can re-open.