使用Flash,Javascript和JSP优化我的Web应用程序
我有一个网络应用程序,我想加速。它看起来像这样:
+------+ | | | | +------+ +------+ | | | | +------+ +------+ | | | | +------+ 每个框都是一个包含Flash SWF和一些javascript的iFrame。 SWF下载用于显示信息的第三方SWF。我发现webapp的加载时间是: LoadTime = (4 seconds) * numberOfBoxes + (3 seconds) 当我直接嵌入第三方swf(没有我们的swf或javascript)加载时间是: LoadTime = (1 second) * numberOfBoxes + (2.5 seconds) 我试图找到额外的3秒被使用,所以我可以加快我们的webapp。我认为候选人是: > Serverside处理(jsp) 下载 以下是从firebug下载的下载图片。我已经替换了它们的类型是什么文件名。没有一个下载在第一次采取特别长的时间。 然而一个感兴趣的地方用红色标记。红色区域是在加载我的SWF时和加载两个gif文件之后第三方SWF之间的3秒间隔。我认为这个暂停是由客户端处理引起的(这是真的吗?)。 注意:图中的红色条不是图表的一部分。我添加他们以突出在.net面板上没有发生任何空白。 我认为我可以从这里得出结论,我有一个客户端处理问题,意味着Flash或Javascript。问题1:这是正确的吗? 编辑:我加总了非并发下载时间: >当有1个iframes时,下载时间为1.87秒 Javascript 我用firebug中的profiler来配置javascript。以下是页面上有四个组件的结果: 这意味着javascript运行约.25秒/图表。这对我来说似乎是合理的。 问题2:我正确地阅读这些结果吗? 这留下约3.5秒/其他的处理的图表。 闪 我在AS3代码中插入了一些跟踪语句。我们正在听一个名为“完成加载”的事件。我把一个跟踪在第一个初始化方法和“完成加载”方法。闪光灯只消耗了.2秒/这两个跟踪语句之间的图表。 问题3:有更好的方式来配置闪光灯吗?它可能是闪存加载或类似的东西,正在吃了额外的时间? 其他 我不知道有没有其他的东西除了: > Serverside处理(jsp) 问题4:有什么我缺少,可能正在吃的时间? 下一步 我不知道我的下一步应该是什么。我知道某事花了大约1.5 – 3秒/图表,但我不知道是什么。我怀疑它是与我的swf有关的东西。 问题5:我该如何找到那个失踪时间? 更新:时间摘要 我已经绘制了所有的时间,每一件可能需要时间的事情。 > X轴是正在使用的图表数量。 最后一个图表可能是最重要的图表。蓝点是总装载时间的量(使用秒表测量)。红点是我已经解决的时间量(Javascript,下载时间和闪光时间)。 更新:浏览器大战 我的目标是IE和Firefox(虽然如果其他浏览器工作是一个不错的奖金)。到目前为止提出的所有结果都是用firebug运行的Firefox。只是为了好玩,我以为我会尝试在其他浏览器。我不认为这使我更接近一个解决方案,但有趣的是看到有多少IE吸。 注意:在运行Firefox测试之前,我清除了Cookie和缓存。我没有这样做为IE或Chrome 更新:Flash加载 我一直在喷洒console.log语句,虽然我的代码试图夹层缓慢的代码。 (结果被推送到Firebug控制台)。 有一件事,我注意到,似乎对我怀疑,我的最后一个javascript日志打印和我的第一个闪存日志打印之间有2.5秒的时间间隔。 17:08:29.973 - Javascript code Time difference: 2510 ms 17:08:32.483 - Flash- myComponent.init() Flash需要为每个swf设置一个虚拟机吗?它是否在客户端上编译actionscript? 当我< embed>我的swf和当我的主要.mxml中的creationComplete事件? 解决方法
只是一些想法:
你能消除中间人,在这种情况下,第三方swf? 第三方swf在哪里?如果是在远程服务器上,您只需要下载一次,然后将其与其他文件一起放在本地服务器上。这可以消除下载时间。 你可以使用类似flash反编译器反编译第三方swf的代码,并将代码直接放入你的swf? (这可能违反规则) 如果您不将内容放在iframe中,而是将它们放在div中,会发生什么情况? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |