EXT性能优化(转载)
2010-12-30 09:34 爱研究源码的javaer 阅读(502) 评论(0) 编辑 收藏 举报EXT性能优化
1. 将JS进行合并压缩。
使用yahoo的yui-compress.jar进行压缩JS,去掉过多的空格和注释,并合并,减少IO的支出。
2. 将前后台传输的数据进行GZIP压缩。
大数据量的数据传输,通过GZIP的压缩方案,可以减少到25%,有些数据可能会更多。
3. 对大量的JS分析依赖关系,进行动态加载。
这个是关键,通过分析所有的JS中的依赖关系,减少了JS加载的数量。从很大程度上提高了性能。
4. 另外对部分页面进行缓存,而非真正的关闭。
对于Ext的消毁不能完全释放节点,那我们就不消毁他,进行对象的缓存,并在重新打开该功能的时候进行数据的重新加载和重置功能,对象重用。
经过上述的四种方案后,我们的页面性能有了大幅度的提升,由原来的35+秒,提升到首页面加载只需要3秒之内。
其中将依赖关系进行分析后,我们定义了依赖关系映射文件,将首页面上首先要加载的JS进行压缩合并,分块显示,同时将不需要一进入页面就要显示的模块进行懒加载,在使用的时候再从服务端DOWN下来进行编译,同时使用了数据的GZIP压缩,页面也进行了缓存。
还有一个外部的因素,由于系统使用的客户机环境上的复杂,我们在多个浏览器上进行了测试,只有IE是最慢的,尤其是IE6,后来发现不是IE6要比 IE7慢,是因为发现MS发布了脚本引擎cscript 5.7, 而大部分的ie6系统都装的是5.6, 这个版本上的升级,不仅仅是修改了BUG,在JS的执行速度上也有了较大的提升,于是我们在环境因素上又加上了一条,要求客户安装cscript5.7, 也大大的提升了页面的打开时间。