如果单个网页将加载 10 个相同的 Flash 对象,是否会对性能/加载时间产生重大影响?20?30?.. 任何关于这种设置可持续性的证据数据?
这将是同一个 Flash 应用程序,每个实例都提供自己的流。
如果单个网页将加载 10 个相同的 Flash 对象,是否会对性能/加载时间产生重大影响?20?30?.. 任何关于这种设置可持续性的证据数据?
这将是同一个 Flash 应用程序,每个实例都提供自己的流。
在大小上肯定会有一些开销,因为每个 swf 中都包含一定数量的代码,而不管它是开发人员创建的内容。
我几乎可以肯定还会存在速度问题,即您添加到页面的 swf 越多,帧速率就会下降。
老实说,这个概念有点可疑,我认为必须有更好的解决方案来解决您的问题。
编辑
此外,每个域有两个流通过 http 也有限制。当然你可以解决这个问题,但这肯定是一个问题。
从设计上讲,这听起来是个坏主意。您将在浏览器中运行 Flash 播放器的多个实例,每个实例都有单独的成本,并且主机(在本例中为浏览器)将在同一线程上运行所有这些实例(某些可选异步除外进程),因此您几乎肯定会遇到各种问题——播放抖动、UI 阻塞、处理器负担、内存膨胀、随之而来的主机不稳定等。
除非 SWF 非常小,而且做的工作很少,否则这似乎是一种自找麻烦的设计。事实上,你可以很容易地测试这样的东西;你有没有进行任何测试?只是好奇。
对要求也很好奇;如果我们对您的目标有更多了解,我们或许能够提供更具建设性的替代方案。您是否考虑过简单地将所有 SWF 加载到一个容器 SWF 中,只需要一个浏览器托管的 Flash 播放器实例?
我发现这篇文章可能会有所帮助。诀窍是使用SWFObject嵌入您的 swf 文件。
我今天遇到了一个奇怪的问题。在 Muziboo 的音乐排行榜页面上,我在右侧显示了歌曲列表和播放列表。每首歌曲都有一个在 OpenLaszlo 中完成的小按钮播放器。在 Firefox 中一切都很好,在 IE 中(并不罕见),页面会冻结一段时间。这只会发生一次,并且只有在我删除缓存并重试时才会重复。我用谷歌搜索了一下,了解到嵌入给每个 swf 一个唯一的 id 是个好主意,否则浏览器会出现错误行为。然后我继续使用 swfobject 嵌入 swf 文件,一切都开始正常工作!
是的,如果您在这条路上走得太远,它可能会破坏浏览器。
如果您想处理多个流,也许将所有可能的小程序组合成一个巨大的小程序可能会更好。它肯定会抵消 10 到 40 只小病虫的严重开销。
如果这是一个音乐播放器,那么您需要认真考虑做一些 JavaScript 远程处理。通过 JS 控制 Flash 应用程序相当简单,因此您可以拥有标准的 HTML/CSS 控件,而无需加载十亿个 Flash 实例。