PDA

View Full Version : Ext.List performance



Surykat
23 Nov 2011, 4:44 AM
Have You guys thought about making the List component more powerfull?

In ST1.0.0 someone have made a BufferedList component. Maybe it is in future plans to make list more optimized for large mount of data??

mitchellsimoens
23 Nov 2011, 9:55 AM
We have thought about doing so many cool things it's not funny! What we wanted is that 2.0 release is purely performance and class architecture updates. After 2.0, then we will start adding in new stuff.

jep
5 Feb 2012, 9:44 PM
Would you say you have a ways to go from PR4 to where you want list performance to be? Because I have a simple, two column non-grouped list and the performance with 3000 items is simply unusable. And this is on my fast desktop in chrome. I'm just curious if you expect orders of magnitudes better performance by the time you get to beta/release.

TommyMaintz
5 Feb 2012, 11:42 PM
Hi jep,

Unfortunately I think the answer on that one is no (for now). We definitely plan on implementing some kind of infinite / buffered scrolling somewhere after the 2.0 GA release, but for now you either have to port over some kind of buffering mechanism or find a different (better?) UI for representing a 3000 length dataset.

edspencer
6 Feb 2012, 12:15 AM
Would you say you have a ways to go from PR4 to where you want list performance to be? Because I have a simple, two column non-grouped list and the performance with 3000 items is simply unusable. And this is on my fast desktop in chrome. I'm just curious if you expect orders of magnitudes better performance by the time you get to beta/release.

It's a bit hard to read that with a straight face :) I don't think we make any claims about a list with 3000 items being usable (I'm amazing it's not crashing the browser actually). At the moment the List just renders what you give it, there's no buffering management.

We don't comment on new features that may or may not be in a future release but buffered scrolling is one of them ;)

jep
6 Feb 2012, 7:55 AM
Well, in talking to Tommy I did try a much simplified form of the list using just a straight up



<div>{field}</div>


version. I also commented out all my list css. This improved a lot, though it was still a bit jerky. At least it wasn't unusable, though.

I think the "well, it's mobile and you can't have 3000 things!" is a bit of a dodge, though. First off, I was talking about the performance on a desktop with gigs of RAM and a lot of CPU. It was slow on that. But okay, I can see the response "we optimize it for mobile devices." I don't think that really works as a defense, either. We're talking about data that was like 20 chars of text per list item (lastname, firstname). Compare this to what the browser on those mobile devices would do with a 3000 line web page with 20 chars on a line. I really don't think the scrolling would be jerky on that. I browse far more complex, bloated websites smoothly on my ipad all the time.

But that's a quibble with where the cutoff is. I agree with Tommy and you that buffered scrolling is a feature you need to get in there. It's a key component in a situation like this, which is why MahlerFreak released the uxBufferedList component a year back. Just send him/her a free t-shirt and maybe you can get an update to 2.0. ;)

PS: I decided to play with the site a bit on the iPad. I loaded all 3000+ items from the server via JSON. I populated an array with just the single string element I wanted from the data. Loaded that data into the store. Went to sync() the LocalStorage proxied store and it crashed. Repeatedly. Is that something you expect or do you want a bug report on that?

TommyMaintz
6 Feb 2012, 11:05 AM
That sounds like it could be a bug. Would be great if you could report that on the bug forum including a test case that shows the problem. Thanks!

jep
6 Feb 2012, 9:32 PM
Done!

http://www.sencha.com/forum/showthread.php?179106