Status

()

enhancement
P2
normal
3 months ago
6 days ago

People

(Reporter: gw, Assigned: gw)

Tracking

(Blocks 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [wr-amvp][wr-q2])

Assignee

Description

3 months ago

We now have external scroll offset in the scroll node API for WR. We can use this as a base to make a number of picture caching improvements. Some of these are speculative and require prototyping and investigation. It's likely that some combination of the items below can provide significant improvements to the performance and robustness of picture caching:

  • Make use of external scroll offsets to avoid correlation of display lists.
  • Use external scroll offsets to avoid needing to calculate tile-relative world space positions for primitive and clip dependencies.
  • Store cache dependencies per-picture, allowing caching of multiple slices of the scene.
  • Estimate pixel overdraw counts during batching to determine which tiles / slices are worth caching.
  • Store primitive origins in primitive / clip templates, to reduce CPU copying overhead in dependency generation.
  • Combine slices with a single compositing shader, to reduce framebuffer bandwidth.
  • Consider using framebuffer fetch and/or pixel local storage on supported mobile devices to reduce memory bandwidth.
Assignee

Updated

3 months ago
Assignee: nobody → gwatson
Depends on: wr-android-mvp
Priority: -- → P2
Whiteboard: [wr-amvp][wr-q2]
Duplicate of this bug: 1536357
Assignee

Updated

6 days ago
Depends on: 1558106
You need to log in before you can comment on or make changes to this bug.