我们的Flash游戏每天运行将近4000个用户,大约2%的用户获得脚本停止(错误#1502和#1503上的Flash异常)。我们知道这些错误正在发生,因为我们使用Flash Player 10 uncaughtErrorEvents功能来捕获并记录这些异常。这些无法解释的脚本停顿异常是什么?
我们还记录了一个函数调用历史记录,所以我们可以看到这个异常总是出现在ActionScript3代码的不同位置,当然通常出现在运行频率最高的代码部分。
我99%肯定我们的代码没有卡在一个无限循环中,我知道这个错误最初是为了什么。
我怀疑发生的事情是,用户运行在一台非常慢的机器上,并且闪存正在进行垃圾回收或其他事情,这导致了失速。 Flash然后检测到代码长时间执行并放弃,因为它超过了Flash发布设置中设置的脚本时间限制。我们目前已经将此设置为20秒,对于我们的任何代码来说,在一台体面的机器上运行应该足够了。
有没有其他人遇到过类似的问题?使用了哪些解决方案,将脚本时间限制设置为一些庞大的数字,我们可能只需要做些什么?
很可能玩家们正在打开大量的标签并拖延他们的浏览器。此外,它可能是加入阻止这样做,虽然这是一点点strech ...即你没有多少/应该做的除了试图复制... – Neoraptor