Performance Flash(as3)在浏览器中的运行速度比在单机版中慢

Performance Flash(as3)在浏览器中的运行速度比在单机版中慢,performance,actionscript-3,flash,Performance,Actionscript 3,Flash,我在AS3 Netstream上制作了一个定制的Flash视频播放器。在开发过程中,它从未导致任何显著的CPU使用率:Youtube/Vimeo的CPU使用率约为10%至15%,而我自己的播放器的CPU使用率为20%至25% 现在它在我们的开发Web服务器上运行,占用了CPU 我尝试过将帧率设置得不合理的低(1fps),但似乎没有产生任何重大影响 我们在运行播放器的HTML页面中试用了WMODE。在wmode中:“direct”稍微好一点,但仍然没有达到FlashDevelop中的CPU数量

我在AS3 Netstream上制作了一个定制的Flash视频播放器。在开发过程中,它从未导致任何显著的CPU使用率:Youtube/Vimeo的CPU使用率约为10%至15%,而我自己的播放器的CPU使用率为20%至25%

现在它在我们的开发Web服务器上运行,占用了CPU

我尝试过将帧率设置得不合理的低(1fps),但似乎没有产生任何重大影响

我们在运行播放器的HTML页面中试用了WMODE。在
wmode中:“direct”
稍微好一点,但仍然没有达到FlashDevelop中的CPU数量

我很乐意发布所有你认为相关的代码,但目前我不知道是什么导致了这一点

更新:

可能与视频文件格式有关吗

更新:


我在多台电脑上试用过Chrome和Firefox。正如预期的那样,CPU的使用率随计算机的速度而变化,但始终是任何其他视频播放器的4到5倍。到目前为止,我们已经发现,与其他播放器相比,高CPU是由解压缩引起的。如果使用较小的视频格式,效果会更好。但是,这并不能回答主要问题:为什么浏览器中的CPU使用率比独立闪存中的CPU使用率要高得多?

不同环境中的性能可能会有所不同,因此请检查以下事项:

  • flashdevelop使用的是调试播放器还是发布播放器
  • 您的浏览器使用的是调试播放器还是发布播放器
  • 发布或调试版本(如果使用Flash IDE,此设置称为“允许调试”)是否重要?调试播放器和发布播放器上的测试
  • 你在使用chrome pepper播放器(内置)吗
  • 您的代码是否有效、经过双重检查且没有运行时错误
  • 您是否分析了闪存泄漏
  • 你在用StageVideo吗?这将在GPU上呈现视频,这将提供更好的性能(顺便说一句,youtube和vimeo都有)
  • 你测试过其他视频、比特率和编码吗

我在Firefox中禁用了插件容器(在about:config中,将
dom.ipc.plugins.enabled
设置为
false
),我的Flex应用程序现在运行起来似乎和单机版播放器一样快。

请尝试其他浏览器以检查是否存在此Chrome bug。一定要按照alxx所说的操作,然后尝试其他浏览器。至少可以说,Chrome自备的Flash插件非常糟糕。很抱歉,它应该说“直接”,我们尝试了所有的方法。只是想确认:“独立”意味着运行SWF的Flash exe在浏览器之外,对吗?如果是这样,如果您在Chrome/Firefox中运行SWF,但在本地运行(而不是在Web服务器上),会发生什么。我问b/c您说明问题是在部署到web服务器后发生的。谢谢您的全面回复。除了StageVideo(我将研究它)和如何分析内存泄漏之外,所有这些都得到了验证。使用flashdevelop,有一个内置的分析程序。您可以检查是否有不断创建但未破坏的对象,在这种情况下,内存应缓慢上升。当我看你的图表时,情况应该不是这样,但为了性能起见,检查哪些类/对象处于活动状态总是好的。竖起大拇指。这很有帮助。你知道如何在IE中实现同样的效果吗?