Skip to content

On Android, process all updates from actions from an event before the next frame (Choreographer.doFrame) #1311

Open
@steve-the-edwards

Description

@steve-the-edwards

We use an inner loop for CONFLATE_STALE_RENDERINGS and DRAIN_EXCLUSIVE_ACTIONS (here) to apply multiple actions in one render pass (or in the case of CSR, in one 'UI update').

When the runtime is executed on the Main.immediate dispatcher, we handle one side effect of a worker update, and then render and try to process actions before the other workers (and their side effects underneath) have been able to be dispatched in order to send the other actions that need processing to the action sink.

This means that the optimizations like CONFLATE_STALE_RENDERINGS are much less effective with the Main.immediate dispatcher as we are not able to populate the actions that need processing as fast as we can process them.

We need to fix that! We have enshrined that desire in a currently ignored android test that uses the Main.immediate dispatcher.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions