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