Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash player渲染动画的速度太慢-有没有办法加速它?_Flash_Actionscript 3_Graphics_Flash Cs5 - Fatal编程技术网

Flash player渲染动画的速度太慢-有没有办法加速它?

Flash player渲染动画的速度太慢-有没有办法加速它?,flash,actionscript-3,graphics,flash-cs5,Flash,Actionscript 3,Graphics,Flash Cs5,我正在做一个项目(在Flash CS5中)-我使用midi文件可视化音乐-这意味着我在舞台上有很多简单的电影唇(矩形),它们有不同的z索引、不透明度、高度、宽度、模糊度等 问题是,它渲染得太慢了!我可以看到,当闪光灯很难渲染时,帧速率从30 F/S变为10甚至5 F/S。现在,我的动画并没有那么复杂——我在网络或游戏中看到过令人惊奇的东西——我只尝试移动简单的形状 因为我不知道该做什么-我的问题是,是否有办法: 以某种方式使用计算机图形硬件?使用openGL引擎?我有这样的想法,如果我将它连接到

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

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

因为我不知道该做什么-我的问题是,是否有办法:

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

  • 有没有一种方法可以一帧一帧地记录下来?我不需要实时查看它(尽管这会很好)-我可以折衷地将它变成一个.mov文件。但我发现将其导出为电影不会有任何帮助(它会将其录制为实时播放)。我试着“手动”降低每部电影的速度,但由于一切都变慢了。。现在,屏幕上有更多的电影唇要渲染,速度变得更慢


  • 有人能想出解决办法吗?我做错什么了吗?(我真的不认为我渲染的东西太复杂以至于太慢)

    您可以通过flash插件的标志使用硬件加速: 但是,它并不适用于所有平台,它几乎只适用于windows:( 此外,您将获得的性能改进(如果有的话)很大程度上取决于动画的组成

    逐帧录制内容是可行的,但很烦人。您可以使用PNGEncoder或JPEGEncoder类将它们写入文件。 如果将其放入OneInterFrame的处理程序中,每次都会将一个帧保存到硬盘上。然后,您可以使用mencoder等标准工具从图像创建电影


    现在我的建议是,试着分析一下你的swf,找出什么东西这么慢。有可能不是渲染而是你的代码。如果它真的是渲染,试着找出为什么它这么慢——比如,你正在修改每一帧的数千个支持alpha的电影剪辑。Flash player非常聪明地知道它能做什么che和所有人,但你必须给它一个机会。如果你的场景不复杂,而且仍然很慢,这总是意味着你做错了什么。尝试不使用alpha,使用绘图方法,而不是使用数百个电影剪辑。

    你提到的模糊。这将显著降低你的动画速度。几乎任何滤镜都可以对于需要设置动画的对象,er不是推荐的伴侣-至少不能同时设置多个。如果要执行此操作,请至少对容器而不是单个子对象应用
    BlurFilter

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


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

    谢谢您的帮助。我知道模糊会减慢速度——我已经测试过有无模糊,我可以看到它们的区别。仍然-没有任何模糊,它仍然会变慢,我会重新测试这里写给我的东西,如果没有任何效果,我会放一些代码。无论如何谢谢你的帮助:)谢谢你的帮助。一帧一帧可能很有用,因为我想把它变成电影。有没有一个简单的例子,你可以给我一个Flash(不是Flex)——比方说——如何从右向左移动一个movieclip并导出它的每一帧。由于我不完全理解as3(因为我更像是一名设计师,而不是一名专业程序员)-我需要简单的示例-从那里我希望我能管理:)