Yeah, it's more the improved memory usage that SWT.Virtual provides, mostly by doing more work so that it's memory usage is roughly O(no rows displayed) instead of O (no rows in model)
We could do that, but it has both a code complexity cost, and a feature cost - some features become impossible to support because they would require scanning through the entire model. -- Noel Greg Brown wrote: >>> data sets in TableView ( but throwing huge globs of data at it is a data >>> control issue not a UI issue ). By making sure I didn't load data using the >>> UI >>> thread the app is nice to use even when under allot of stress. >>> >>> >>> >> The Eclipse JFace/SWT project has a nice solution here, one that >> may be worth copying - their table has an SWT.Virtual mode where it >> treats the row-set-data like a virtual memory resource, only loading in >> the bits it needs when they are needed for display. >> > You could also write a table model (i.e. List implementation) that behaves > this way (fetches pages only as needed). > > However, overall TableView performance should be pretty good even with large > data sets. See this demo app: > > > http://svn.apache.org/repos/asf/pivot/trunk/demos/src/org/apache/pivot/demos/million/ > > You can get sample data files here: > > http://svn.apache.org/repos/asf/pivot/site/trunk/www/assets/ > > Copy them to a local directory and pass the base path to the app; e.g.: > > --basePath=/Users/greg/assets > > On my machine, it loads a million rows in less than 10 seconds, and scrolls > smoothly. Make sure you allocate enough heap space, though - I needed 1.5GB > to load the largest data file: > > -Xms128m -Xmx1536m > >
