Improve Mouse / Touch event delivery |
||||
Issue descriptionChrome Version: 60.0.3101.0 OS: ChromeOS 9553.0.0 What steps will reproduce the problem? (1) Install ARC (2) Click on any Android Application (3) Counter the number of What is the expected result? Event should get delivered without visiting too many Windows. What happens instead? Event should not traverse all possible windows Please use labels and text to provide additional information. Perhaps this is not that important for Chrome apps, but this could be an issue for certain Android apps where low latency is needed. I guess a kind of partition data structure could be used to deliver the event in a more direct way. I added a "LOG(ERROR) << debub_info" at window.cc : Window::ConvertEventToTarget at it was called 30 times before it was delivered to the the ExoSurface window. This is true for every MOUSE_PRESSED event. And I believe this is true for touch events as well. RootWindow-0 (0x2fb9dd639c60) (530.026062,415.525299) --> ScreenRotationContainer (0x2fb9dd6395a8) (530.026062,415.525299) ScreenRotationContainer (0x2fb9dd639580) (530.026062,415.525299) --> PowerButtonAnimationContainer (0x2fb9dd71f9c8) (530.026062,415.525299) PowerButtonAnimationContainer (0x2fb9dd71f9a0) (530.026062,415.525299) --> PowerButtonAnimationContainer (0x2fb9dd71f9c8) (530.026062,415.525299) PowerButtonAnimationContainer (0x2fb9dd71f9a0) (530.026062,415.525299) --> MouseCursorContainer (0x2fb9dd71f868) (530.026062,415.525299) MouseCursorContainer (0x2fb9dd71f840) (530.026062,415.525299) --> MouseCursorContainer (0x2fb9dd71f868) (530.026062,415.525299) MouseCursorContainer (0x2fb9dd71f840) (530.026062,415.525299) --> LockScreenRelatedContainersContainer (0x2fb9dd639de8) (530.026062,415.525299) LockScreenRelatedContainersContainer (0x2fb9dd639dc0) (530.026062,415.525299) --> OverlayContainer (0x2fb9dd71f708) (530.026062,415.525299) OverlayContainer (0x2fb9dd71f6e0) (530.026062,415.525299) --> OverlayContainer (0x2fb9dd71f708) (530.026062,415.525299) OverlayContainer (0x2fb9dd71f6e0) (530.026062,415.525299) --> DragImageAndTooltipContainer (0x2fb9dd71f5a8) (530.026062,415.525299) DragImageAndTooltipContainer (0x2fb9dd71f580) (530.026062,415.525299) --> DragImageAndTooltipContainer (0x2fb9dd71f5a8) (530.026062,415.525299) DragImageAndTooltipContainer (0x2fb9dd71f580) (530.026062,415.525299) --> MenuContainer (0x2fb9dd71f448) (530.026062,415.525299) MenuContainer (0x2fb9dd71f420) (530.026062,415.525299) --> MenuContainer (0x2fb9dd71f448) (530.026062,415.525299) MenuContainer (0x2fb9dd71f420) (530.026062,415.525299) --> VirtualKeyboardParentContainer (0x2fb9dd71f2e8) (530.026062,415.525299) VirtualKeyboardParentContainer (0x2fb9dd71f2c0) (530.026062,415.525299) --> VirtualKeyboardParentContainer (0x2fb9dd71f2e8) (530.026062,415.525299) VirtualKeyboardParentContainer (0x2fb9dd71f2c0) (530.026062,415.525299) --> SettingBubbleContainer (0x2fb9dd71f188) (530.026062,415.525299) SettingBubbleContainer (0x2fb9dd71f160) (530.026062,415.525299) --> SettingBubbleContainer (0x2fb9dd71f188) (530.026062,415.525299) SettingBubbleContainer (0x2fb9dd71f160) (530.026062,415.525299) --> StatusContainer (0x2fb9dd71f028) (530.026062,415.525299) StatusContainer (0x2fb9dd71f000) (530.026062,415.525299) --> StatusContainer (0x2fb9dd71f028) (530.026062,415.525299) StatusContainer (0x2fb9dd71f000) (530.026062,415.525299) --> LockScreenRelatedContainersContainer (0x2fb9dd639de8) (530.026062,415.525299) LockScreenRelatedContainersContainer (0x2fb9dd639dc0) (530.026062,415.525299) --> LockScreenContainersContainer (0x2fb9dd639708) (530.026062,415.525299) LockScreenContainersContainer (0x2fb9dd6396e0) (530.026062,415.525299) --> LockSystemModalContainer (0x2fb9dd6dec88) (530.026062,415.525299) LockSystemModalContainer (0x2fb9dd6dec60) (530.026062,415.525299) --> LockSystemModalContainer (0x2fb9dd6dec88) (530.026062,415.525299) LockSystemModalContainer (0x2fb9dd6dec60) (530.026062,415.525299) --> LockScreenContainer (0x2fb9dd6deb28) (530.026062,415.525299) LockScreenContainer (0x2fb9dd6deb00) (530.026062,415.525299) --> LockScreenContainer (0x2fb9dd6deb28) (530.026062,415.525299) LockScreenContainer (0x2fb9dd6deb00) (530.026062,415.525299) --> LockScreenContainersContainer (0x2fb9dd639708) (530.026062,415.525299) LockScreenContainersContainer (0x2fb9dd6396e0) (530.026062,415.525299) --> LockScreenWallpaperContainer (0x2fb9dd6399c8) (530.026062,415.525299) LockScreenWallpaperContainer (0x2fb9dd6399a0) (530.026062,415.525299) --> LockScreenWallpaperContainer (0x2fb9dd6399c8) (530.026062,415.525299) LockScreenWallpaperContainer (0x2fb9dd6399a0) (530.026062,415.525299) --> NonLockScreenContainersContainer (0x2fb9dd62cde8) (530.026062,415.525299) NonLockScreenContainersContainer (0x2fb9dd62cdc0) (530.026062,415.525299) --> SystemModalContainer (0x2fb9dd6de9c8) (530.026062,415.525299) SystemModalContainer (0x2fb9dd6de9a0) (530.026062,415.525299) --> ExoShellSurface (0x2fb9e1238708) (154.026062,106.525299) ExoShellSurface (0x2fb9e12386e0) (154.026062,106.525299) --> ExoSurface (0x2fb9e115c708) layer bounds(-376, -309, 1366, 768) (530.026062,415.525299)
,
May 18 2017
Since you mention latency, do you have a sense of how much of the latency is coming from the targeting step?
,
May 18 2017
Thanks. Actually I haven't done any latency tests yet.
,
May 18 2017
My suggestion would be to measure the latency for the targeting to verify that it is an expensive step, before doing a lot of work, because it normally should be very cheap.
,
May 18 2017
yes, makes sense. actually I found this while working on another bug. and I just wanted to have this documented in case in the future we need to improve the event-delivery performance for android apps.
,
May 19 2017
<triage> Sadrul, can you please find the right owner? Thanks!
,
May 19 2017
There's nothing to be done here as far as I am concerned. We either WontFix this, or someone needs to investigate to figure if we actually need to do anything here.
,
Dec 13 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by ricardoq@chromium.org
, May 18 2017