Open Bug 1668339 Opened 4 years ago Updated 4 years ago

Bad WR performance with low number of cores when the CPU is busy

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

People

(Reporter: nical, Unassigned)

References

(Blocks 2 open bugs)

Details

On CPUs with few cores, there tend to be a significant amount of time between messages being sent to event loops and the thread picking it up, especially if the CPU is very busy. thread switches on the critical path can be quite costly in this context.

It adds latency in general and is particularly problematic with the render backend and renderer threads which are on the critical path to meeting the frame budget.

It would be interesting to experiment with:

  • Merging the renderer and render backend threads into a single one.
  • Bumping the priority of that thread.

I'm not sure whether with ANGLE we would be better off keeping the renderer separate but start sending drawing commands earlier, because of how much CPU time is spent emitting draw calls. We'll have to try. Hopefully we can make everything fit in a single thread which is simpler.

You need to log in before you can comment on or make changes to this bug.