You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an extension of the pass spec work (see #512).
Vello should provide a SceneMetrics type, which could be returned from a Scene, and multiple SceneMetrics could be added together. The Scene should have a new Scene::reserve(metrics) constructor taking a SceneMetrics value.
We could then keep individual metrics for each widget, sum them during the paint pass, and store the sum in the root. At the beginning of each paint pass, we'd use metrics from the previous pass to reserve a complete scene.
It seems to me that it would be much simpler to just retain the resultant scene from the previous frame. That would tend to grow over time, so we should probably have a shrink_to_fit method on Scene.
I haven't followed up on this, but what it's worth, I think re-using an old value for its allocation is an anti-pattern that Rust developers use way too much.
This is an extension of the pass spec work (see #512).
Vello should provide a SceneMetrics type, which could be returned from a Scene, and multiple SceneMetrics could be added together. The Scene should have a new
Scene::reserve(metrics)
constructor taking a SceneMetrics value.We could then keep individual metrics for each widget, sum them during the paint pass, and store the sum in the root. At the beginning of each paint pass, we'd use metrics from the previous pass to reserve a complete scene.
See linebender/vello#667.
The text was updated successfully, but these errors were encountered: