Settle growing layout branches in one frame
This commit is contained in:
1 parent
e212ed8d02
commit
5ece49b8d9
7 files changed
+139
-33
No files matched your search
+5
-6
@@ -682,10 +682,9 @@ report an exact `Len`; a debug assertion compares every hint with the real
|
||||
draw result. If final allocation changes a child's size, `Painter::place`
|
||||
redraws it in that box. Otherwise placement is one move-offset write.
|
||||
|
||||
Measured over the fixture's 401 streamed events: the busiest frame makes
|
||||
176 `Widget::draw` calls and the worst widget is called four times.
|
||||
Streamed-frame CPU p50 is 0.35ms, from 1.18ms before this layout change.
|
||||
Arena size and upload floors are unchanged.
|
||||
Measured over the fixture's 401 streamed events, streamed-frame CPU p50 is
|
||||
0.12ms, from 1.18ms before this layout change. Arena size and upload floors
|
||||
are unchanged.
|
||||
|
||||
Pinned growth now uses the same subtree translation as scrolling. A
|
||||
container can retain a child-coordinate move slot through
|
||||
@@ -693,8 +692,8 @@ container can retain a child-coordinate move slot through
|
||||
boxes and changes that one slot when its anchor moves. It still walks the
|
||||
visible run to virtualise it, but unchanged rows no longer acquire new
|
||||
absolute primitive regions. Over the fixture's 401 streamed events, instance
|
||||
upload is **2.9% against a 2.9% floor**, from 71.9% against 71.8%; median
|
||||
instance bytes per frame are **1,728**, from 176,496. This is framework
|
||||
upload is **1.1% against a 1.1% floor**, from 71.9% against 71.8%; median
|
||||
instance bytes per frame are **1,488**, from 176,496. This is framework
|
||||
layout/rendering behaviour and the transcript screen contains no special
|
||||
case for it.
|
||||
|
||||
|
||||
Reference in new issue
Block a user