One million rows

Virtualised rows, and a sort that runs off the game thread.

A million rows, scrolled into the middle.
A million rows, scrolled into the middle.

Where the million goes

Nowhere. The list builds a row when it scrolls into view and gives it back when it leaves, so the widget count follows the window and not the data.

The model holds the values and builds no object per row. That is why this one cannot be written with Set Items.

The busy state

The busy overlay, up while a sort runs off the game thread.
The busy overlay, up while a sort runs off the game thread.

A dispatched sort takes time, so the table has a busy overlay and can block input while it runs. The demo adds fake latency on purpose, to make that state easy to see.

Turn the dispatcher off and the same table sorts inline instead.

Next: Server browser