Saturday, 15 March 2014

javascript - How can I make Qooxdoo virtual list scalable? -



javascript - How can I make Qooxdoo virtual list scalable? -

i need show list of info , @ to the lowest degree 1 1000000 rows (big info , machine learning). not need show @ 1 time , remotetablemodel of qooxdoo table works fine instead of table take list design choice.

below test i've made.

//create model data, 1mil items var rawdata = []; (var = 0; < 1000000; i++) { rawdata[i] = "item no " + i; } var model = new qx.data.array(rawdata); //create list var list = new qx.ui.list.list(model); this.getroot().add(list);

i understand point take long generate rawdata , assign list. problem after assigning list , virtual list non-responsive.

scrolling slow , navigating downwards arrow freezes few secs too. qooxdoo virtual infrastructure suppose render visible items if understand correctly? in above test case slow. expect work remote table model .

tested qooxdoo latest 4.0.0 , 3.5.1 , on chrome 35 stable.

i can reproduce issue source version , not build version. found reason why performance slow. there runtime check in internal method singlevaluebinding has huge performance impact on rendering.

i opened bug study that: http://bugzilla.qooxdoo.org/show_bug.cgi?id=8439

but sad issue occurs developer version. customers not effected.

you can disable check if want. remove check block: https://github.com/qooxdoo/qooxdoo/blob/master/framework/source/class/qx/data/singlevaluebinding.js#l915

you can load model info in parts improve model creation. can maybe load next part when user has scrolled end of list. can utilize illustration have seen: infinite scroll in qooxdoo virtual list

javascript html5 performance scalability qooxdoo

No comments:

Post a Comment