Unlike other types of render tasks, pictures can have hundreds of dependencies. The dependency vector is re-built every frame, leading to a lot of vector re-allocations in some pages.
Depends on D60151
Differential D60182
Bug 1607836 - Preallocate picture task dependency vectors. r=gw Authored by nical on Jan 16 2020, 9:18 PM. Tags None Subscribers None
Details
Unlike other types of render tasks, pictures can have hundreds of dependencies. The dependency vector is re-built every frame, leading to a lot of vector re-allocations in some pages. Depends on D60151
Diff Detail
Event TimelineComment Actions I wonder if there's a way to make such optimizations less custom each time. For instance, I wonder if it might make sense to have a struct that holds "recyclable" vecs and at the end of the frame, and used vecs can be added to that from any subsystem, and then on the next frame, systems can claim vecs from that struct. Not exactly sure how it would work, but it might be worth pondering / discussing this in future? |