我还有一个问题。我正在使用GWT 2.0.4和IE8以及FireFox(后者仅用于比较目的)。我的应用程序需要加载数据并将其显示在表中。大约有60列和150行显示。
由于加载是动态的 - 一旦获取了数据集,就会将其添加到表中 - 在加载过程中我很好地减速。但是:当表完全加载时,我希望它非常活泼,让我滚动它没有太多延迟。
虽然加载的表在FireFox中做出了相当好的反应 - 但仍保持响应速度 - Internet Explorer 8让我感到非常头疼。特别是:一旦表完成加载并且我尝试滚动或突出显示一行,IE8变得非常迟缓并且突出显示一行使IE8消耗50 +%的CPU功率。
我没有使用任何第三方库,甚至在FlexTable中显示空单元格仍然给我带来同样的问题。
我在这里发现了一些可能相关的问题:SmartGWT ListGrid is slow, but only in Internet Explorer。不幸的是,由于我没有使用SmartGWT,因此SmartGWT的问题和提供的SmartGWT链接都没有解决我的问题。我确实相信问题是相关的。
我很乐意尝试任何建议。
答案 0 :(得分:1)
如果可能(并且您对问题的描述也是如此),请改用Grid
:
可以包含的矩形网格 文本,html或子窗口小部件 它的细胞。 必须调整大小 明确地达到所需的数量 行和列。
请查看bulk table renderers @ GWT Incubator以了解这些方法的比较(它有点过时,但FlexTable
比Grid
慢的点仍然存在; ))。来自孵化器的“批量渲染”表也是一种选择,但请记住,这些小部件可能不再维护(例如,包含错误) - 或者快速维护:D但是至少可以查看源代码来源如果你想为这个问题推出自己的解决方案,请指出正确的方向。
答案 1 :(得分:0)
突出显示一行会使IE8消耗50%的CPU功率。
也许是因为您将鼠标侦听器添加到表中的每一行。如果是这样,你可以在你的css文件中使用:hover
- 伪类。
如果您需要处理表格中的一系列小部件中的事件,本文可能会有所帮助:http://code.google.com/intl/en/webtoolkit/doc/latest/FAQ_UI.html#As_the_application_grows,_event_handlers_seem_to_fire_more_slowl