为什么AxShockwaveFlash在转换时会占用如此多的内存或进程?

时间:2014-06-17 09:52:25

标签: c# wpf flash axshockwaveflash

我开发了一个包含2 AxShockwaveFlashtextBlock的应用。在AxShockwaveFlash中,有2个不同的 flash 文件,其中包含自己的动画并在表单的底部一个文本块滚动一些文本(Ticker)。虽然加载flash我的自动收报机卡住了,当闪存有一些过渡时,我的自动收报机也卡住了。 我没有得到任何线索,为什么我的应用程序在播放或转换Flash文件时响应缓慢。如何准确跟踪问题是什么?

1 个答案:

答案 0 :(得分:1)

简单的答案:为什么AxShockwaveFlash在转换过程中需要占用大量内存或进程?只是因为有人在不杀死CPU的情况下不知道如何编写转换代码< /强>

公平地说,你的问题没有提供足够的有用信息(导致下面的漫无边际的答案)。很多人会把某些东西称为“Flash动画”,当有什么东西可以从简单的文本淡入/淡出到完整的3D引擎游戏演示到一些密集的实时视频像素效果。恰好在Flash中完成,所以它是一个Flash动画,对吗?

A)如果您可以改进C#代码......请考虑改进您的WPF /文本块代码

因为如果你的Textblock因一些多媒体元素(照片,声音,Flash等)的额外加载而变慢,那么你只需要改进那个Textblock代码。

B)如果你可以改进AS3代码......寻找任何CPU强烈的像素活动。如果转换代码使用bitmapData,请使用bitmapData.lock.unlock

如果Flash是由其他人外部创建的,那么可能存在一些无效的编码?通过仅加载SWF(无文本块)来检查CPU使用情况。还要考虑Flash动画的性质,例如我从未知道SWF的广告横幅&amp;弹出广告不添加CPU使用率。我不知道那些人用他们的“简单”广告做什么。基本上如果其他人成功,找到另一种选择。否则,如果你有源代码,首先要改进转换功能。