【问题标题】:Flash player renders animation too slow - Is there a way to accelerate it?Flash 播放器渲染动画太慢 - 有没有办法加速它?
【发布时间】:2011-05-13 05:59:32
【问题描述】:

我正在制作一个项目(在 Flash CS5 中) - 我使用 midi 文件可视化音乐 - 这意味着我在舞台上有很多简单的影片剪辑(矩形),它们有不同的 z-index、不透明度、高度、宽度、模糊等等……

问题是 - 它渲染太慢了!当闪光灯难以渲染时,我可以看到帧速率从 30 F/S 变为 10 甚至 5 F/S。现在,我的动画并没有那么复杂——我在网络或游戏中看到了令人惊奇的东西——我只尝试移动简单的形状。

由于我不知道该怎么做 - 我的问题是是否有办法:

  1. 以某种方式使用计算机图形硬件? 使用 openGL 引擎?我有这样的想法,如果我将它连接到一个强大的引擎,它会工作吗?

  2. 有没有办法逐帧记录?我不必实时观看(虽然会很好)-我可以妥协它是一个 .mov 文件。但我发现将其导出为电影无济于事(它会像实时播放一样记录它)。我尝试了一些方法来“手动”减慢每个动画剪辑的速度 - 但由于一切都变慢了.. 屏幕现在有更多动画剪辑要渲染,而且变得更加缓慢。

谁能想到解决办法?难道我做错了什么? (我真的不认为我渲染的东西太复杂以至于太慢了)

【问题讨论】:

    标签: flash actionscript-3 graphics flash-cs5


    【解决方案1】:

    您可以通过一个标志来使用硬件加速到您的 Flash 插件: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_1_hardware_acceleration.html 但是,它并不适用于所有平台,它几乎只适用于 Windows :( 此外,您将获得的性能改进(如果有的话)在很大程度上取决于您的动画所包含的内容。

    逐帧录制内容是可行的,但很烦人。您可以使用 PNGEncoder 或 JPEGEncoder 类并将它们写入文件。 http://blog.everythingflex.com/2008/10/01/filereferencesave-in-flash-player-10/ 如果你把它放在 onEnterFrame 的处理程序中,它每次都会将一个帧保存到硬盘驱动器。然后,您可以使用 mencoder 等标准工具从图像创建电影。

    现在我的建议是,尝试分析您的 swf 并找出这么慢的原因。有可能不是渲染,而是您的代码。如果它真的是渲染,试着找出它为什么这么慢 - 比如,你正在对数千个启用了 alpha 的影片剪辑进行 blitting,并且每一帧都在更改它们。 Flash 播放器非常聪明地知道它可以缓存什么,但你必须给它一个机会。如果你的场景并不复杂并且仍然很慢,这总是意味着你做错了什么。尝试不使用 alpha,使用绘图方法而不是使用数百个影片剪辑。

    【讨论】:

    • 感谢您的帮助。逐帧播放很有用,因为我想把它变成电影。有没有一个简单的例子,你可以用 Flash(不是 Flex)给我 - 比如说 - 如何将单个影片剪辑从右向左移动并导出它的每一帧。因为我不完全理解 as3(因为我更像是一名设计师而不是专业程序员) - 我需要简单的例子 - 从那里我希望我能做到:)
    【解决方案2】:

    您提到了模糊。这将显着减慢您的动画速度。几乎任何过滤器都不推荐用于需要动画的对象 - 至少不会同时进行很多。如果您打算这样做,那么至少将 BlurFilter 应用于容器而不是单个子项。

    还有其他性能明显更好的方法可以将过滤器应用于许多对象,例如将元素绘制到 BitmapData 并使用 BitmapData.applyFilter() 对其应用过滤器

    删除所有过滤器,看看是否有帮助。如果没有,请提供更多代码/信息,我会看看它:)

    【讨论】:

    • 感谢您的帮助。我知道模糊会减慢它的速度 - 我已经对它进行了有或没有的测试,我可以看到差异。仍然 - 没有任何模糊它仍然会变慢,我将重新测试这里写给我的东西,如果没有任何效果,我会放一些代码。无论如何感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多