我正在研究GWT项目,我们使用FlexTable来显示一些数据.我知道我们应该使用CellTable,因为它具有更好的性能,但FlexTable更容易设计样式(特定样式的单元格),并且更容易更新特定的单元格.
要接收表的更新,我们正在使用WebSockets.我们现在面临的问题是,当通过WebSockets每秒发生超过100次更新时,CPU负载会很高.来自WebSocket连接的每条消息都包含表中多个单元格的更新.所以在实践中,每秒应该有超过100个更新,应该在FlexTable中呈现.带有4GB RAM的3GHz i5的CPU负载约为50%.如果我禁用数据的实际呈现(注释掉setText()方法调用),则CPU负载下降到5-10%.所以我知道DOM更新是瓶颈,而不是代码的其他部分.
它会更好吗?
是否有更好的方法来实现表并提高性能?
我试图谷歌,如果有人有类似FlexTable的问题,但只发现一般认为它只是缓慢,没有具体.我们完全使用JavaScript完成应用程序原型,每秒100次更新,CPU负载大约为15%
更新
Dropping css淡入淡出效果,我们用来表示单元格值的变化,将CPU负载降低了约10%.所以似乎DOM不是唯一的问题.