Arthy74
9 years agoVisitor
RowList optimisation
Hi all,
I am trying to optimise our app as we are displaying like 12 rows (rowlist component), and for each row 6 items are visible (each row can contain more that 20 items)
Everything looks ok on Roku 3 and 4, but on earlier boxes the screen freezes during rows construction up to 20 seconds...
So i created a simple example to investigate:
My rowlist displays 6 items out of 20.
I know the rowlist smartly use a virtual layout to recycle row items, which is great.
BUT
apparently the rowList:
- creates the 6 visible items (index 1 to 6) in memory
- creates 6 cloned versions of these items
- renders these 12 instances (itemContentChange is triggered)
- creates 2 following items (item 7 and 8 ) in memory
- renders those 2 following items
The expected result should be:
- create 6 or 8 items in memory
- only render the 6 visible items
On a roku stick or roku 1, all this extra work has a major impact in terms of performances.
And imagine this is only for 1 row, and we have 12 rows to render...
So is there any way not to render only the 6 visible items, or Roku can plan some serious optimisation on this component ?
I join the example so that you can see by yourself:
http://lecrabe.net/exchange/roku/TestRowList.zip
http://lecrabe.net/exchange/roku/TestRo ... ources.zip
Thanks if any of you who has found a workaround for this.
I am trying to optimise our app as we are displaying like 12 rows (rowlist component), and for each row 6 items are visible (each row can contain more that 20 items)
Everything looks ok on Roku 3 and 4, but on earlier boxes the screen freezes during rows construction up to 20 seconds...
So i created a simple example to investigate:
My rowlist displays 6 items out of 20.
I know the rowlist smartly use a virtual layout to recycle row items, which is great.
BUT
apparently the rowList:
- creates the 6 visible items (index 1 to 6) in memory
- creates 6 cloned versions of these items
- renders these 12 instances (itemContentChange is triggered)
- creates 2 following items (item 7 and 8 ) in memory
- renders those 2 following items
The expected result should be:
- create 6 or 8 items in memory
- only render the 6 visible items
On a roku stick or roku 1, all this extra work has a major impact in terms of performances.
And imagine this is only for 1 row, and we have 12 rows to render...
So is there any way not to render only the 6 visible items, or Roku can plan some serious optimisation on this component ?
I join the example so that you can see by yourself:
http://lecrabe.net/exchange/roku/TestRowList.zip
http://lecrabe.net/exchange/roku/TestRo ... ources.zip
Thanks if any of you who has found a workaround for this.