加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Flash,Javascript和JSP优化我的Web应用程序

发布时间:2020-12-15 19:50:17 所属栏目:百科 来源:网络整理
导读:我有一个网络应用程序,我想加速。它看起来像这样: +------+| || |+------++------+| || |+------++------+| || |+------+ 每个框都是一个包含Flash SWF和一些javascript的iFrame。 SWF下载用于显示信息的第三方SWF。我发现webapp的加载时间是: LoadTime =
我有一个网络应用程序,我想加速。它看起来像这样:

+------+
|      |
|      |
+------+

+------+
|      |
|      |
+------+

+------+
|      |
|      |
+------+

每个框都是一个包含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)
>下载
> Javascript
> Flash
>其他?

下载

以下是从firebug下载的下载图片。我已经替换了它们的类型是什么文件名。没有一个下载在第一次采取特别长的时间。

然而一个感兴趣的地方用红色标记。红色区域是在加载我的SWF时和加载两个gif文件之后第三方SWF之间的3秒间隔。我认为这个暂停是由客户端处理引起的(这是真的吗?)。

注意:图中的红色条不是图表的一部分。我添加他们以突出在.net面板上没有发生任何空白。

我认为我可以从这里得出结论,我有一个客户端处理问题,意味着Flash或Javascript。问题1:这是正确的吗?

编辑:我加总了非并发下载时间:

>当有1个iframes时,下载时间为1.87秒
>当有2个iframes时,下载时间为2.29秒
>当有5个iframes时,下载时间为8.57秒
>当有10个iframe时,下载时间为10.62秒
>当有21个iframe时,下载时间为17.20秒

Javascript

我用firebug中的profiler来配置javascript。以下是页面上有四个组件的结果:

这意味着javascript运行约.25秒/图表。这对我来说似乎是合理的。

问题2:我正确地阅读这些结果吗?

这留下约3.5秒/其他的处理的图表。

我在AS3代码中插入了一些跟踪语句。我们正在听一个名为“完成加载”的事件。我把一个跟踪在第一个初始化方法和“完成加载”方法。闪光灯只消耗了.2秒/这两个跟踪语句之间的图表。

问题3:有更好的方式来配置闪光灯吗?它可能是闪存加载或类似的东西,正在吃了额外的时间?

其他

我不知道有没有其他的东西除了:

> Serverside处理(jsp)
>下载
> Javascript
> Flash

问题4:有什么我缺少,可能正在吃的时间?

下一步

我不知道我的下一步应该是什么。我知道某事花了大约1.5 – 3秒/图表,但我不知道是什么。我怀疑它是与我的swf有关的东西。

问题5:我该如何找到那个失踪时间?

更新:时间摘要

我已经绘制了所有的时间,每一件可能需要时间的事情。

> X轴是正在使用的图表数量。
> Y轴是所有图表加载的时间。

最后一个图表可能是最重要的图表。蓝点是总装载时间的量(使用秒表测量)。红点是我已经解决的时间量(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中,会发生什么情况?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读