Open Bug 1587475 Opened 5 years ago Updated 2 years ago

Page faults and Lock contention on the render backend from memory allocations

Categories

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

defect

Tracking

()

People

(Reporter: nical, Unassigned)

References

(Blocks 1 open bug)

Details

Looking at page faults with perf, we have a fair amount of them on the render backend thread:

  • PrimitiveCluster::push
  • webrender::scene_building::SceneBuilder::create_primitive
  • webrender::picture::PrimitiveList::push
  • webrender::batch::BatchBuilder::add_prim_to_batch

I also see a lot of lock contention from memory allocation, Jeff tells me we don't have jemalloc arenas on the render backend threads, we should have them, probably.

I saw some hashmap code in TileCacheInstance::pre_update showing up which I didn't expect.

Looks like there is room for better avoiding/preallocating/recycling allocations in general, so we should do another pass of that.

Blocks: wr-frame-building-perf
No longer blocks: wr-perf
Severity: normal → S3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.