2012-12-03 176 views
1

我在AS3 Netstream中构建了一个基于Flash的自定义视频播放器。在开发过程中,它永远不会造成任何显着的CPU使用率:Youtube/Vimeo约占CPU的10%到15%,我自己的播放器约占20%到25%。Flash(as3)在浏览器中运行速度比独立运行速度慢

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

enter image description here

我已经尝试设置帧率不合理的低(1fps)和它似乎并没有做任何显著的影响。

我们在运行播放器的HTML页面中试验了WMODE。在wmode: "direct"这是一个稍微好一点,但仍然没有接近FlashDevelop的CPU数量。

我很乐意发布您认为相关的所有代码,但此刻我对此可能造成的损失不知所措。

更新:

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

更新:

我在多台计算机上试过Chrome和Firefox。正如预期的那样,CPU使用率取决于计算机的速度,但总是大约是其他视频播放器的4到5倍。到目前为止,我们已经发现,与其他玩家相比,高CPU是由于解压缩引起的。如果使用较小的视频格式,效果会更好。但是,这并没有回答主要问题:为什么浏览器中的CPU使用率比单独的Flash高出很多?

+1

尝试使用其他浏览器检查此Chrome版本是否存在问题。 – alxx

+2

绝对不要像alxx所说的那样尝试不同的浏览器。至少可以这么说,Chrome自带的Flash插件很糟糕。 –

+0

对不起,它应该说“直接”,我们尝试了所有。 – joon

回答

1

有可能是在不同环境中的性能差异,所以请检查follwing事情:

  • 是Flashdevelop中使用调试或释放的球员?
  • 是您的浏览器使用调试还是释放播放器?
  • 如果您进行发布或调试构建(如果您使用Flash IDE,此设置称为“许可调试”),这有什么关系吗?在调试播放器和释放播放器上测试?
  • 你使用铬胡椒球员(buildin)?
  • 是你的代码有效,doublechecked,没有运行时错误?
  • 你是否在简介内存泄漏的闪存?
  • 您使用StageVideo吗?这将在GPU上渲染视频,这应该会提供更好的性能(Btw youtube和vimeo)
  • 你测试过其他视频,比特率,编码吗?
+0

非常全面的回复。除了StageVideo(我将研究)之外,所有这些都会检查出来,以及如何分析内存泄漏? – joon

+0

使用flashdevelop,有一个内置的分析器。你可以检查是否有对象不断的被创建但没有被破坏,在这种情况下,内存应该慢慢增加。当我看着你的图表时,情况并非如此,但为了表现,总是很好地检查哪些类/对象是活动的。 –

1

我禁用在Firefox插件容器(在about:config中,转dom.ipc.plugins.enabledfalse)和我的Flex应用程序似乎是作为独立的播放器现在跑得一样快。

+0

竖起大拇指。这有帮助。任何想法如何在IE中实现相同? – Sgali