有没有办法加速它?

我正在制作一个项目(在Flash CS5中) - 我使用MIDI文件可视化音乐 - 这意味着我有很多简单的动画片段(矩形),它们具有不同的Z-索引,不透明度,高度,宽度和模糊等。 。

事情是 - 它渲染得太慢了! 当闪光灯难以渲染时,我可以看到帧频从30 F / S变为10甚至5 F / S。 现在,我的动画并不复杂 - 我在网上或游戏中看到了令人惊叹的事物 - 我只尝试移动简单的形状。

因为我不知道该怎么做 - 我的问题是,如果有一种方法:

  • 在某些方面使用计算机图形硬件? 使用openGL引擎? 我有这个想法,如果我将它连接到一个强大的引擎,它会工作?

  • 有没有办法逐帧记录它? 我不必实时看到它(虽然它会很好) - 我可以妥协,使其成为一个.mov文件。 但是我发现将它导出为电影将无济于事(它将它记录为即时播放)。 我尝试了“手动”减慢每个动画片段速度的方法 - 但是由于一切都变慢了,屏幕上现在有更多的动画片段进行渲染,并且变得更慢。

  • 任何人都可以想出解决方案吗? 难道我做错了什么? (我真的不认为我会渲染太复杂,太慢)


    你提到模糊 。 这会显着减慢你的动画。 对于需要动画的对象,几乎所有的滤镜都不是推荐的伴侣 - 至少并不是很多。 如果你打算这样做,那么至少应该将BlurFilter应用于容器而不是单独的孩子。

    还有其他更好的表现方式可以将滤镜应用于多个对象,例如将元素绘制到BitmapData ,并将滤镜应用于使用BitmapData.applyFilter()

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


    你可以通过一个标志使用硬件加速到你的flash插件:http://www.adobe.com/devnet/flashplayer/articles/fplayer10_1_hardware_acceleration.html然而,它不适用于所有平台,它几乎是windows-only :(此外,如果有的话,性能提升会因您的动画组成而变化很大。

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

    现在我的建议是,试着分析你的瑞士法郎,并找出那么慢。 有一个机会,它不是渲染,而是你的代码。 如果它真的是渲染,请尝试找出它如此缓慢的原因 - 例如,您正在拍摄成千上万个启用Alpha的影片剪辑,并且每帧都在进行更改。 Flash播放器对于它可以缓存什么以及所有内容都很聪明,但你必须给它一个机会。 如果你的场景不复杂而且速度还很慢,那就意味着你做错了什么。 尝试不使用alpha,使用绘制方法而不是使用数百个影片剪辑。

    链接地址: http://www.djcxy.com/p/48263.html

    上一篇: Is there a way to accelerate it?

    下一篇: Importing existing Flash .xfl & .as files into Flash Builder 4