I run xbmc on raspberry pi. One annoyance I've had is that large lists seem to load very slowly. I write web and mobile applications (mostly in python / java) but don't have a lot of experience with C++ / desktop apps.
One of the things we sometimes do in the web and mobile world when we need fast performance in large ListViews is to not actually load the list, but rather only what needs to be visible to the user, and then basically lie about the scrollbar height. The general theory behind this approach is that loading 10000 strings into an array and iterating through it is relatively inexpensive, while loading 10000 rows into the UI at one time is relatively more expensive.
Here's an example of an implementation of such an approach using javascript and html:
http://mleibman.github.io/SlickGrid/exam...imple.html
Grab the scroll bar and yank it around a bunch - you'll notice that the list blinks a little between redraws.
https://github.com/mleibman/SlickGrid
I understand that the iOS listview for iPhone uses this same principal.
Anyways, I was thinking of forking it on github and taking a shot at implementing the above approach, but I thought I'd try and get some feedback first, since I haven't spent a lot of time working with this sort of architecture. Is this something xbmc might benefit from?
One of the things we sometimes do in the web and mobile world when we need fast performance in large ListViews is to not actually load the list, but rather only what needs to be visible to the user, and then basically lie about the scrollbar height. The general theory behind this approach is that loading 10000 strings into an array and iterating through it is relatively inexpensive, while loading 10000 rows into the UI at one time is relatively more expensive.
Here's an example of an implementation of such an approach using javascript and html:
http://mleibman.github.io/SlickGrid/exam...imple.html
Grab the scroll bar and yank it around a bunch - you'll notice that the list blinks a little between redraws.
https://github.com/mleibman/SlickGrid
I understand that the iOS listview for iPhone uses this same principal.
Anyways, I was thinking of forking it on github and taking a shot at implementing the above approach, but I thought I'd try and get some feedback first, since I haven't spent a lot of time working with this sort of architecture. Is this something xbmc might benefit from?