Closed Bug 1576549 Opened 3 months ago Closed 3 months ago

mozilla::a11y::ProxyAccessible::Bounds is slow on GeckoView when clicking date field on hotels.com

Categories

(Core :: Disability Access APIs, defect, P2)

ARM64
Android
defect

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: m_kato, Assigned: eeejay)

References

Details

(Whiteboard: [qf:p2:responsiveness])

Attachments

(1 file)

https://perfht.ml/33Xkwrf

When clicking date field on hotels.com, mozilla::a11y::ProxyAccessible::Bounds (to update viewport cache) spends a lot of times because SendExtents is sync IPC.

Could you change this to async IPC?

Whiteboard: [qf][geckoview]
Blocks: 1517635
Flags: needinfo?(eitan)
Priority: -- → P2

Hi Makoto,

What device did you experience this on?

Thanks!

Whiteboard: [qf][geckoview] → [qf:p2:responsiveness][geckoview]
Flags: needinfo?(m_kato)

(In reply to Denis Palmeiro [:denispal] from comment #1)

Hi Makoto,

What device did you experience this on?

Thanks!

Pixel2 and XPERIA XZ2 compact. I think that issue occurs on all devices. I guess that this issue is that a11y tries to update view port cache per animation. So profiler shows that a lot of sync calls by a11y.

Original case is bug 1517635. When turning off a11y via accessibility.force_disabled=1, bug 1517635's test case becomes smooth.

Flags: needinfo?(m_kato)

Removing the [geckoview] whiteboard tag because this a11y perf problem is probably not in GeckoView code.

Whiteboard: [qf:p2:responsiveness][geckoview] → [qf:p2:responsiveness]

We have a special async Batch message that is supposed to make us avoid sync IPC calls, looks like I overlooked the bounds data we receive and still make a sync call. oops!

Easy fix.

Flags: needinfo?(eitan)
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/59b97cbfadda
Use bounds in bundle argument instead of getter method. r=Jamie
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.