Forum Discussion
Veeta
9 years agoVisitor
If you have a categorical organization, meaning category per row, I would recommend not paginating items within the category but a full category at a time. I haven't been able to successfully load a subset of row data within any of the RowList-like components. From SDK1, roGridScreen a SetContentListSubset() to accomplish this.
Some experiments from last year gave the best experience by using replaceChild() on the root content node to replace a previously empty (i.e. unloaded) category with a populated one downloaded by a background task.
Some other notes:
- if you can avoid writing a fully custom component, it'll save you tons of work and poor performance on older devices. These devices suffer every time they run brightscript callbacks vs. the built-in components which running natively.
- strategically manage the # of items you lazy load. If the batch size is large, it can take a long time to convert to content nodes and rendezvous back to the render thread. If the batch size is small, too many rendezvous will cause lag in the navigation.
Some experiments from last year gave the best experience by using replaceChild() on the root content node to replace a previously empty (i.e. unloaded) category with a populated one downloaded by a background task.
Some other notes:
- if you can avoid writing a fully custom component, it'll save you tons of work and poor performance on older devices. These devices suffer every time they run brightscript callbacks vs. the built-in components which running natively.
- strategically manage the # of items you lazy load. If the batch size is large, it can take a long time to convert to content nodes and rendezvous back to the render thread. If the batch size is small, too many rendezvous will cause lag in the navigation.