New issue
Advanced search Search tips

Issue 724245 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

Improve Mouse / Touch event delivery

Project Member Reported by ricardoq@chromium.org, May 18 2017

Issue description

Chrome 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)

 
Components: UI>Shell

Comment 2 by sadrul@chromium.org, May 18 2017

Since you mention latency, do you have a sense of how much of the latency is coming from the targeting step?
Thanks. Actually I haven't done any latency tests yet.

Comment 4 by sadrul@chromium.org, 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.
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.

Owner: sadrul@chromium.org
Status: Assigned (was: Untriaged)
<triage> Sadrul, can you please find the right owner? Thanks!

Comment 7 by sadrul@chromium.org, May 19 2017

Cc: afakhry@chromium.org
Owner: ricardoq@chromium.org
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.
Labels: -Performance Performance-Loading

Sign in to add a comment