SWF文件具有在调试播放器中比发布播放器(Adobe Animate,AS3)运行得更快的计时器

时间:2017-03-24 20:44:30

标签: actionscript-3 debugging flash timer

我有一个交互式动画,它包含一个按钮和一些按顺序点亮的灯光。动画还有一个计时器,显示时间的流逝,以说明光转换之间的间隔,因此用户知道序列中每次转换之间经过了多长时间(从光'a'到x'花费了x时间轻'b')。按钮控制速度。

我使用AS3中的Timer类实现了计时器:

var MyTimer:Timer = new Timer(1);

这意味着计时器应该每毫秒启动一次。

现在,我知道由于帧速率(24fps)以及必须在处理函数内部运行代码这一点,这远不准确。但是我不打算使用准确的计时器,事实上我确实需要它更慢,所以用户可以看到转换之间的时间,如果你愿意,可以看到缩放/慢速计时器。当前时间显示在动态文本字段中。

原样,当在Adobe Animate中使用调试播放器时,计时器的速度以大约1/10的正常速度运行,大约需要10秒才能显示已经过了一秒钟,这对于我的目的来说非常好。但是,此动画将用于PDF,在这种情况下,将使用Flash的发布播放器;在发布版本中,计时器的速度大约是速度的一半,约为速度的1/20,大约需要20秒或更长时间才能显示已经过了一秒钟。

我不确定为什么会这样。如何播放swf文件以使计时器在Flash Player的调试版和发行版中的行为相同?

我已经尝试解开'允许调试'并勾选发布设置中的'忽略跟踪语句'(以及un / tick的每个组合)以及所有硬件加速选项。

我还按用户'kglad'建议实施了一个FPS计数器:

published swf file is a lot slower than the 'test' mode?

但是调试和发布版本都显示FPS为23-24.'kglad'给出了线程中的最后一个回复“调试播放器比非调试播放器慢”。我不确定他的意思是什么,因为这似乎是我和该线程的OP所面临的相反问题,除非他/她意味着在浏览器中使用播放器。

TL; DR

如何让计时器在Flash播放器的调试版和发行版中表现相同?

提前感谢任何建议。

0 个答案:

没有答案