Remove the triage suspected machinery and break cycles with weak refs#5910
Remove the triage suspected machinery and break cycles with weak refs#5910teoxoy merged 20 commits intogfx-rs:trunkfrom
Conversation
|
renderpass benchmark results of current trunk vs this PR (TLDR: 39-64% less time spent in |
nical
left a comment
There was a problem hiding this comment.
Great work! This makes significant changes to some pretty complicated systems. The changes look good to me although I usually have a firmer understanding of the potential side effects when I approve a PR.
So this calls for some more thorough testing than usual or a second pair of eyes.
|
I modified the benchmark to check the poll time to see what impact removing |
|
All in all, perf of submit + poll has improved by 22-32%. |
cwfitzgerald
left a comment
There was a problem hiding this comment.
This looks great! I have one comment about the trackers. Did you do much changes in the trackers, or just moving code around, it's a bit hard to tell.
Love the diff numbers!
The only behavioral change was |
…ources. It's worth noting that `suspected_resources` never contained those resources.
The Vec only ever contained 0 or 1 command buffers. We now acquire an encoder on every submit for pending writes but that's not a problem since those are coming from a pool anyway.
…ive in `LifetimeTracker.handle_mapping` This change doesn't change behavior as `Global.buffer_drop` already unmaps the buffer.
Resolves #5560.
Resolves #5120.
Resolves #5592 & resolves #5583 by removing
Device::temp_suspected.PR doesn't need to be squashed, each commit builds by itself.