iris: eliminate retained-frame heap churn

This commit is contained in:
iris committed 2026-09-12 22:44:03 -04:00
1 parent badd758d9b
commit 715c86e7e2
22 files changed
+527 -196

No files matched your search

+6
View File
@@ -215,6 +215,12 @@ widget observed during that same draw; the next draw replaces the list, so a
dependency disappears as soon as the widget stops reading it. Both fields
have `ActiveData`'s existing lifecycle through `remove`/`remove_rec`.
Retained draw output uses two buffers per collection. A redraw clears and
fills the spare child, primitive, texture, and paint buffers while consuming
the current buffers for reuse, then swaps their roles. Stable redraws therefore
reuse vector capacity and move matching resource handles instead of allocating
new collections or changing resource reference counts each frame.
### 6. Rejected alternatives
- **A flat (non-chained) per-subtree offset table**, Iris's literal