2013-05-30 14:52题主

关于ExtJS 4.1表格的列在特别多的情况下IE6的性能问题

我想问下有没有人遇到过EXT4.1在构建单页面程序的时候在IE6、7、8下的性能问题。主要是grid表格,如果显示的列、查询条件和按钮都特别多的情况下,IE6、7、8打开会比较慢。谁有好的优化方法吗?
2013-05-30 15:48#1
ExtJS4.1版本是ExtJS所有版本以来性能最好的版本,较之前版本有大幅度的性能提升。
ExtJS表格的显示采用的是Lazy Render机制,不需要呈现的数据不加载。通常情况下一次性加载1000条记录,IE6能在数秒内完成(Chrome 1秒内完成)。
过于复杂的界面,哪怕是简单的HTML的原生组件,DOM的渲染都需要时间,尤其是低版本的IE。
优化的策略:
  • 仅量用Lazy Render机制按需加载,如gridpanel和tabpanel
  • 仅量少嵌套不必要的Panel和容器
  • 仅量用轻量的组件(继承的层次越少的控件性能越好)
  • 获取元素操作接口时用Ext.fly替代Ext.get
  • 表格数据超过1000条时使用buffer机制或分页
  • 容器动态添加控件时先suspendLayouts,添加完成之后再resumeLayouts
  • 单次事件的监听采用single模式

返回开发者社区