现在开发的项目用了Ext+Dwr,页面初始化的时间比较长(我的项目左边是树,右边使用tabPanel引入iframe),有什么优化方法呢?
?
整理各位大侠的意见如下:
方法一:
压缩传输,比如tomcat6下面启用gzip,修改server.xml的配置:
<Connector port="8081" protocol="HTTP/1.1" maxThreads="150"?
? compression="on"
? noCompressionUserAgents="gozilla, traviata"?
? compressableMimeType="text/html,text/xml,text/javascript,text/css"
? connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/>
?
一篇介绍Gzip的文章:http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/? 不错!
??
一篇介绍iframe直接使用父页面的js和css技术的文章:http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462?不是很明白!
?
当然还有其他的一些压缩工具:比如E3压缩。
?
方法二:
项目中Ext代码优化。
1. 不推荐使用iframe加载的方式,使用autoload。
2. 在完成了组件对象的使用以后必须回收,可以使用对应对象的destroy,beforeDestroy,removeAll等方法销毁对象以及一些孤立节点。
3. 不要把继承层次弄的太深。
。。。
你把这个grid设成加载数据时mask,同时找台P4 1.5用IE测测看,就知道慢了。
国内讨论EXT有两种:
1.以讹传讹认为EXT体积庞大的。
2.瞎设计页面组件,错误估计EXT的渲染性能。
3.中国特色啊,总有些很差的机器,还非得跑IE。
说到硬件问题,岔出去说个真实的事情。
我们碰到一客户很有意思,她上了年纪,非得要在17寸液晶上跑800×600的分辨率,我们怎么和她解释她都不同意,硬说我们的产品不支持800×600,后来总监说,900元买个19寸液晶送给她,跑1024×768的分辨率,看她还有没有意见。
QT不也是类似的收费,还不是用的人很多。
局域网传输很快,况且有缓存。
令人头疼就是加载速度
就一个普通页面:一棵树,一个20条数据的grid,再加几个form。在奔四,512内存的机器上居然需要3-5秒的加载时间,CPU占用率100%。很是郁闷
P4 频率多少?
大概2.4G
局域网传输很快,况且有缓存。
令人头疼就是加载速度
就一个普通页面:一棵树,一个20条数据的grid,再加几个form。在奔四,512内存的机器上居然需要3-5秒的加载时间,CPU占用率100%。很是郁闷
P4 频率多少?
大概2.4G
那基本可以确定是代码设计不合理或者其他外在因素造成的,就这点EXT元素P4 2.4G不可能连续消耗3-5秒的100%的CPU。
<p>?</p>
<div class='quote_div'>
<div class='quote_title'>用n个iframe等于开n个browser窗口</div>
<p>?</p>
</div>
<p><br/>是啊,很正常啊,好比我用IE或傲游开n个淘宝的窗口消耗的资源一样。</p>
局域网传输很快,况且有缓存。
令人头疼就是加载速度
就一个普通页面:一棵树,一个20条数据的grid,再加几个form。在奔四,512内存的机器上居然需要3-5秒的加载时间,CPU占用率100%。很是郁闷
P4 频率多少?
大概2.4G
那基本可以确定是代码设计不合理或者其他外在因素造成的,就这点EXT元素P4 2.4G不可能连续消耗3-5秒的100%的CPU。
发现这么个情况:
两台几乎一样配置的客户机,操作系统也一样,网络环境也一样,但表现差异很大。
机器A打开一个页面花费时间很长,至少好几秒
机器B快很多
初步看了一下浏览器版本,机器A是IE6 sp1,机器B是IE6 sp2
不知为何差别如此大
发现这么个情况:
两台几乎一样配置的客户机,操作系统也一样,网络环境也一样,但表现差异很大。
机器A打开一个页面花费时间很长,至少好几秒
机器B快很多
初步看了一下浏览器版本,机器A是IE6 sp1,机器B是IE6 sp2
不知为何差别如此大
建议再找一台,或者虚拟机上装一个干净的IE6 sp1做测试,机器A中流氓软件或浏览器不正常的可能性很高。
<div class='quote_div'>
<p>现在开发的项目用了Ext+Dwr,页面初始化的时间比较长(我的项目左边是树,右边使用tabPanel引入iframe),有什么优化方法呢?</p>
<p>?</p>
<p>整理各位大侠的意见如下:</p>
<p>方法一:</p>
<p>压缩传输,比如tomcat6下面启用gzip,修改server.xml的配置: <br/><Connector port="8081" protocol="HTTP/1.1" maxThreads="150"? <br/>? <span style='color: #ff0000;'>compression="on" <br/>? noCompressionUserAgents="gozilla, traviata"? <br/>? compressableMimeType="text/html,text/xml,text/javascript,text/css" <br/></span>? connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/></p>
<p>?</p>
<p>一篇介绍Gzip的文章:<a href='http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/'>http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/</a>? 不错!</p>
<p>??</p>
<p>一篇介绍iframe直接使用父页面的js和css技术的文章:<a href='http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462'>http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462</a>?不是很明白!</p>
<p>?</p>
<p>当然还有其他的一些压缩工具:比如E3压缩。</p>
<p>?</p>
<p>方法二:</p>
<p>项目中Ext代码优化。</p>
<p>1. 不推荐使用iframe加载的方式,使用autoload。</p>
<p>2. 在完成了组件对象的使用以后必须回收,可以使用对应对象的destroy,beforeDestroy,removeAll等方法销毁对象以及一些孤立节点。</p>
<p>3. 不要把继承层次弄的太深。</p>
<p>。。。</p>
</div>
<p>?</p>
<p>?</p>

这样好像是最大啊。不会在增加啦。
我认为ext的最佳开发方式不是autoload,而是嵌入iframe,当你开发稍大的系统,布局稍复杂的系统就知道autoload的痛,ext类库是让我们用web网页方式开发c/s系统的一大利器,我想这没错吧,它就适合开发一些xx管理系统,好了,你随便下载个美萍的xx管理系统,看看如何用ext来autoload那样的界面。
当然如果用iframe代替autoload,势必造成ext类库重复加载的一大问题,没错,这很容易,拦截ext类库js,设置缓存响应,让客户缓存extjs就好了咯,说白了,就是客户端接收到的是http 203响应,而不是200,哈哈
我认为ext的最佳开发方式不是autoload,而是嵌入iframe,当你开发稍大的系统,布局稍复杂的系统就知道autoload的痛,ext类库是让我们用web网页方式开发c/s系统的一大利器,我想这没错吧,它就适合开发一些xx管理系统,好了,你随便下载个美萍的xx管理系统,看看如何用ext来autoload那样的界面。
当然如果用iframe代替autoload,势必造成ext类库重复加载的一大问题,没错,这很容易,拦截ext类库js,设置缓存响应,让客户缓存extjs就好了咯,说白了,就是客户端接收到的是http 203响应,而不是200,哈哈
精辟二字送给你