Open Bug 1889230 (wr-video-perf) Opened 1 year ago Updated 10 days ago

[meta] [project] Fix video playback performance issues

Categories

(Core :: Graphics: WebRender, task)

task

Tracking

()

People

(Reporter: gw, Unassigned)

References

(Depends on 26 open bugs, Blocks 3 open bugs)

Details

(Keywords: meta)

User Story

platform-scheduled: 2024-07-01
No description provided.
Depends on: 1738247
Depends on: 1841606
Depends on: 1728169
Depends on: 1731414
Depends on: 1778560
Depends on: 1738557
Depends on: 1696107
Depends on: 1595593
Depends on: 1830059
Depends on: 1709486
Depends on: 1645011
Depends on: 1658058
Depends on: 1765868
Depends on: 1770649
Depends on: 1872944
Depends on: 1682684
Depends on: 1731364
Depends on: 1674775
Depends on: 1623530
Depends on: 1557491
Depends on: 1814535
Depends on: 1721702
Depends on: 1798206
Depends on: 1805999
Depends on: 1754566
Rank: 2
Depends on: 1766383
Depends on: 1891727
Severity: -- → S2
Assignee: nobody → gwatson

We have several real-world reports of video playback performance problems (linked as dependencies of this bug). We also know of a number of code paths that we hit in some cases, on some platforms, which are sub-optimal for video playback performance. In this instance, performance includes not just hitting the desired playback framerate, but also CPU/GPU usage and/or power usage, relative to other browsers.

Although we have a good sense of some particular problems in the existing video playback paths, and a number of planned improvements, we still have an incomplete picture. For many of the bug reports we have, we need to first work out which of the slow code paths we're hitting, why we're hitting them, and how the improvements we have planned will help. Thus, initial work will be profiling the reported cases, writing up details on what the major bottlenecks are, and prioritising which improvements to target first. This will also help identify any remaining unknowns that are causing video playback performance problems.

Some of the known issues we have (or suspect) are:

  • Additional copies of video frames in some cases
  • Not hitting compositor output fast paths when we can (various reasons)
  • GPU doing 2D/3D work that we may be able to avoid (e.g. format conversions, blits)

Potential work coming from this meta:

  • Add some profiling infrastructure to make it easier to identify what path video playback hits (and if slow, why)
  • Change how picture caching / compositing slices scenes to ensure we hit compositor fast paths
  • Identify and reduce copies (may involve other teams, such as media)
  • Make more use of compositor where possible to avoid doing GPU work (format conversions, transforms etc)
Depends on: 1898497
Blocks: ttff
User Story: (updated)
Blocks: 1638709
Assignee: mozilla → nobody
You need to log in before you can comment on or make changes to this bug.