JFace TableViewer与TreeViewer - 性能

时间:2014-02-14 10:06:40

标签: java swt eclipse-rcp jface

有没有人注意到TreeViewerTableViewer之间存在巨大的性能差异(TreeViewer要快得多)。

我有一个包含CellEditors(带EditingSupport)的表格,大约有30列,当我滚动它时,尤其是水平,它非常慢。多细胞选择也很慢。

我将表格更改为树(只将主TableViewer更改为TreeViewer和特定类)并且性能大幅提升。

这是为什么?表和树都具有相同的结构,实现和扩展相同的类,树是具有更多功能的树。这是在较新版本的eclipse中修复的,还是我只是将我的表迁移到没有孩子的树上?

P.S。我在win7上使用SWT和JFace 3.7。

提前致谢。

1 个答案:

答案 0 :(得分:1)

为了提高性能,请尝试使用ILazyTreeContentProvider

另见这篇文章:Eclipse RCP - ILazyTreeContentProvider implementation is unexpectedly eager