我注意到一些意想不到的行为。在过去的几个月中,Firefox,Flash播放器或两者都发生了变化,使得处于非活动浏览器选项卡中的Flash电影不再实时执行。它们似乎仍然可以执行,但只能以突发方式执行,而不是以可预测的方式执行。这是一个问题,因为我开发了一个基于Flash(Actionscript 2.0,Flash CS3)的多人游戏,可以维持网络连接并允许玩家聊天等。
我们的许多玩家抱怨Firefox在玩游戏时崩溃。我也注意到了它,不是太频繁,但它每周都会崩溃几次。 (Firefox崩溃,我没有收到来自Flash播放器的消息,表明我的代码中存在无限循环或问题)我的理论是,当我的游戏中存在大量活动时,这种新行为导致崩溃,导致大量未处理我的游戏的网络流量在Firefox / Flash之前获得缓冲将使其有机会执行。这可能导致缓冲区溢出或数据包丢失,结果导致崩溃。有时我会切换回运行游戏的选项卡并发现显示错误,看起来好像Flash无法执行应该执行的操作。我会假设这种新行为是故意的,例如,防止非活动标签中的所有基于Flash的广告执行,从而导致性能下降。
在对Chrome(5.0.342.9测试版)的快速测试中,Flash的这种“暂停”似乎也存在,但不知怎的,这似乎不是一个问题。我的用户只抱怨Firefox崩溃,而不是其他浏览器。
我的机器:
有什么想法吗?理想情况下,我想为我的Flash游戏禁用此行为,以便即使在非活动选项卡中也可以实时执行。谢谢你的帮助!
答案 0 :(得分:4)
Flash Player 10.1 beta 3制作的Flash影片在隐藏标签页上的处理效果较差。
来自Tinic Uro's article about the changes:
SWF是不可见的:
- SWF帧速率降至2帧/秒。除非SWF再次可见,否则不会进行渲染。
- 定时器(AS2间隔和AS3定时器)的时钟频率降至2秒。
- 本地连接速度降至2秒。
- 视频仅使用空闲CPU时间进行解码(不呈现或显示)。
- 出于向后兼容的原因,我们会在播放音频时将2帧/秒帧速率覆盖为8帧/秒。
答案 1 :(得分:0)
我认为wmode可以提供帮助