Rational
Rendering strategy of tree views on desktop client allow to show views with a big number of records.
This is due to not render all records at a time, but on the contrary render records that appear on
screen.
I think it would be a good idea try to imitate desktop client behavior on rendering trees,
as long as this does not affect the current operation of Sao.
Proposal
I think, we can use a library that allow to know what records are in viewport of screen or xxx2many
widget. Render only this records, and detect scroll on view trees to redraw only records inside viewport.
Why? Because if we fill by default only 20 rows (average number for all the screen sizes) and when new rows are added we only render them (thanks to sao: 6da9f9b71de5). I do no see what improvement an IntersectionObserver will provide except to render only 10 rows instead of 20 on small screen (which is very negligible).
Not really. Because on GTK all the rows are created because it is cheap but on HTML it is not.