Closed Bug 1504115 Opened 6 years ago Closed 6 years ago

Clean up standalone texture cache eviction

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: bholley, Assigned: bholley)

References

(Blocks 1 open bug)

Details

Attachments

(6 files, 2 obsolete files)

I intended to work on shared cache sizing, but ended up spending some time fixing this.
This is useful for sanity-checking memory reports, and we'll also use it for our texture eviction heuristic.
It should really be using the latter, so that it can avoid hand-rolling the frame increments and just use the one already available on frame_builder. In the next patch, we rename the types to make the difference clearer. Depends on D10672
This type identified frames as sequenced by the device layer, whereas render_backend::FrameId identifies frames as sequenced by the render backend. I'm not sure whether there are known cases where these will diverge, but it seems plausible that they might, and so we should more clearly distinguish the types. Depends on D10673
Depends on D10674
Depends on D10675
This simplifies the texture cache code. Depends on D10676
We also switch the boolean from 'in_shared_cache' to 'standalone', since the latter is a bit shorter. Depends on D10677
Depends on D10678
My original try push for this showed a large AWSY regression, so I did a bunch of pushes to show the results for difference values of MAX_FRAME_AGE_WITHOUT_PRESSURE. The result went away (probably a bug in a previous version of the patch), but I wanted to post the results here for reference. Baseline-versus-1: [1] 1-versus-10: [2] 10-verus-25: [3] 25-versus-50: [4] 50-versus-75: [5] 75-versus-100: [6] [1] https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=be32f4014f92d0ab717621997e0d36c9bc1c479b&newProject=try&newRevision=72a29fe48ab649bedbe278b2cb09b8fdf79375f8&framework=4&filter=windows%20resident%20qr [2] https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=72a29fe48ab649bedbe278b2cb09b8fdf79375f8&newProject=try&newRevision=ce4f5159f8361c97d9bac896594cd519df86f655&framework=4&filter=resident%20windows10&showOnlyComparable=1&selectedTimeRange=172800 [3] https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=ce4f5159f8361c97d9bac896594cd519df86f655&newProject=try&newRevision=4c1ad0ac2b5e3aeb7f2bac799e7b2c56556162b7&framework=4&filter=resident%20windows10&showOnlyComparable=1&selectedTimeRange=172800 [4] https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=4c1ad0ac2b5e3aeb7f2bac799e7b2c56556162b7&newProject=try&newRevision=9281fe61e658f6ed7b8437908b5f2e528e3ebcc7&framework=4&filter=resident%20windows10&showOnlyComparable=1&selectedTimeRange=172800 [5] https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=9281fe61e658f6ed7b8437908b5f2e528e3ebcc7&newProject=try&newRevision=0894ca6279f6232fb62078b7273b38f787981c14&framework=4&filter=resident%20windows10&showOnlyComparable=1&selectedTimeRange=172800 [6] https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=0894ca6279f6232fb62078b7273b38f787981c14&newProject=try&newRevision=3a2133515aa88fb005a4499f06d651f0a4c11114&framework=4&filter=resident%20windows10&showOnlyComparable=1&selectedTimeRange=172800
(Oh, and the problem turned out to be that I was accidentally looking at the linux numbers on the new push).
Blocks: 1495977
Pushed by bholley@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/f7087f66bb14 Track the total number of GPU bytes allocated by WebRender. r=gw
Attachment #9022042 - Attachment is obsolete: true
Attachment #9022037 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: