Today I've seen in IRC logs that there's been some discussion on how Koo loads data and wanted to clarify that.
Koo can be configured in two modes using 'ktiny' module. - Sort Visible Records - Sort All Records The first one works just like the GTK or web clients, except that it's missing pagination and/or offset and limit. They're missing because the Sort All Records mode has worked correctly for us till the moment. The second one loads records dynamically. That is, in a tree view the scroll bar scales to the number of records available in the model and the status bar can show you something like 1 out of 2000 records. However, not all records have been actually loaded, instead they're loaded on demand on "limit" (which defaults to 80, but can be configured in the module) chunks. That means that if you scroll, records are loaded at that precise moment, the same happens if you move using next/previous buttons in form view, for example. This is already in production and has given decent performance for the use cases we've found. Even more, using Pyro protocol also improves interface responsiveness. Although, some days ago I commited a performance improvement in this regard. I've got a local branch which I expect to be able to commit in the next days that will greatly improve the performance of opening a screen with lots of records, will drastically decrease memory usage, and improve performance in some other use cases. As all changes are only happen on the model [1] code, trees also benefit from this. As well as one2many and many2many widgets in forms. So if you have a customer with 2000 contacts, only the first 80 will be loaded when you open the form, and the rest will be available simply by scrolling down. Hope this clarifies any doubts... [1] http://albert-nan.blogspot.com/2008/12/model-view.html -- Albert Cervera i Areny http://www.NaN-tic.com _______________________________________________ Tinyerp-users mailing list http://tiny.be/mailman/listinfo/tinyerp-users
