vello_gpu: store strips data in arena - #1897
Conversation
4a1b8bc to
a077a5e
Compare
| } | ||
|
|
||
| #[derive(Debug)] | ||
| struct StripsArena { |
There was a problem hiding this comment.
Would you be able to look into applying the same frame-arena approach to the WebGL backend as a follow-up? WebGL currently reallocates the strip buffer for each pass, so it may benefit from the same reuse strategy.
There was a problem hiding this comment.
Would you be able to look into applying the same frame-arena approach to the WebGL backend as a follow-up?
I'll do it at a later date. I should have one more arena optimization for the Wgpu backend first, then I'll consider if these can be applied to the WebGL one.
| let mut view = queue | ||
| .write_buffer_with(&arena.buffer, offset, size) | ||
| .expect("Capacity handled in creation"); |
There was a problem hiding this comment.
This removes per-pass destination-buffer creation, but write_buffer_with still allocates temporary staging storage on native wgpu for every pass. Could we retain the staging-allocation TODO?
a077a5e to
0ddfcc7
Compare

Clear the TODO.