Javascript 如何使Qooxdoo虚拟列表可扩展?

Javascript 如何使Qooxdoo虚拟列表可扩展?,javascript,html,performance,scalability,qooxdoo,Javascript,Html,Performance,Scalability,Qooxdoo,我需要显示数据列表,至少100万行(大数据、机器学习)。 我不需要立即显示,qooxdoo表的remotetablemodel运行良好,但我选择list作为设计选项,而不是table 下面是我做的一个测试 //create the model data, 1mil items var rawData = []; for (var i = 0; i < 1000000; i++) { rawData[i] = "Item No " + i; } var model = new qx.dat

我需要显示数据列表,至少100万行(大数据、机器学习)。 我不需要立即显示,qooxdoo表的remotetablemodel运行良好,但我选择list作为设计选项,而不是table

下面是我做的一个测试

//create the model data, 1mil items
var rawData = [];
for (var i = 0; i < 1000000; i++) {
 rawData[i] = "Item No " + i;
}
var model = new qx.data.Array(rawData);

//create the list
var list = new qx.ui.list.List(model);
this.getRoot().add(list);
//创建模型数据,1mil项
var-rawData=[];
对于(变量i=0;i<1000000;i++){
原始数据[i]=“项目编号”+i;
}
var模型=新的qx.data.Array(rawData);
//创建列表
var list=新的qx.ui.list.list(模型);
this.getRoot().add(列表);
我理解生成rawdata并将其分配给list需要很长时间。 但问题是在分配列表之后,虚拟列表本身几乎没有响应

滚动非常慢,按向下箭头导航也会冻结几秒钟。 如果我理解正确,Qooxdoo虚拟基础设施应该只呈现可见的项目?但在上面的测试用例中,速度太慢了。 我希望像远程表模型一样工作


在Chrome 35 stable上使用qooxdoo最新版本4.0.0和3.5.1进行测试。

我只能在源版本中重现您的问题,而不能在构建版本中重现。我找到了演出如此缓慢的原因。SingleValueBinding的内部方法中有一个运行时检查,这对渲染有巨大的性能影响

我为此打开了一个bug报告:

但正如我所说,这个问题只发生在开发人员版本中。所以你的客户不会受到影响

如果需要,可以禁用该检查。只需删除复选框:

还可以在零件中加载模型数据,以改进模型创建。当用户滚动到列表末尾时,您可以加载下一部分。您可以使用已经看到的示例:

非常感谢,我将测试您提供的列表版本。因此,我现在了解的是,为了能够处理庞大的数据集,数据绑定并不理想。只是手动放置数据会更好,对吗?是的,应该可以处理巨大的数据集。您必须对虚拟列表使用数据绑定,但正如我所说的,源版本中只有一个性能缺陷。