PLayerTransactionChild::SendUpdate() blocks main thread (>10ms) if compositor thread is busy doing CompositorParent::CompositeToTarget()

NEW
Unassigned

Status

()

3 years ago
3 years ago

People

(Reporter: ting, Unassigned)

Tracking

(Depends on: 1 bug)

Trunk
ARM
Gonk (Firefox OS)
Points:
---

Firefox Tracking Flags

(firefox42 affected)

Details

(Whiteboard: [gfx-noted])

(Reporter)

Description

3 years ago
This is observed from the profile [1] at bug 1170538 comment 5. Update() is a synchronous IPC which returns an array of EditReply, are there any other ways to avoid it blocking main thread? Will bug 1166173 resolve this or is it possible to interrupt current compositing and redo after RecvUpdate()... 

Note the app updates "style.transform" of list items to change their position while scrolling.

[1] http://people.mozilla.org/~bgirard/cleopatra/#report=7facf52aabfaa0c48a6d40acbe5e5b0d9c8de353&select=2080,2450

Updated

3 years ago
Depends on: 1126950
It should be noted that blocking the main thread is considered acceptable, it's generally blocking the compositor thread that's really bad.
Whiteboard: [gfx-noted]
(In reply to Bas Schouten (:bas.schouten) from comment #1)
> It should be noted that blocking the main thread is considered acceptable,
> it's generally blocking the compositor thread that's really bad.

I'd say "considered bad, while blocking the compositor is completely unacceptable". Removing synchronous transactions is worthwhile and Bug 1180326 will help with this (it got backed out on b2g because of some breakage but I suppose it will get fixed and reland soon-ish).
You need to log in before you can comment on or make changes to this bug.