Only render what can be realistically displayed to users
`viewport` is unreasonably inefficient for our usecase when the IOTree grows, as it decides what to display once it rendered to full `IOTree`. Especially while scrolling, this inefficiency became apparent. Unfortunately, brick doesn't have any builtin way to improve this, see https://github.com/jtdaugherty/brick/issues/264 We take `drawListElement` as an inspiration, and only render up to `heightOfBox * 2` elements of the `IOTree`, including expanded tree nodes. This speeds up the view noticeably, giving the user a responsive experience. In particular, we decouple rendering metadata computation from the actual rendering to decide which rows to render.
parent
aec14456
No related branches found
No related tags found
Loading
Please register or sign in to comment