Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Apache flex 当Flex应用程序可以';是否在指定的帧速率下运行?_Apache Flex_Flash_Actionscript 3_Performance - Fatal编程技术网

Apache flex 当Flex应用程序可以';是否在指定的帧速率下运行?

Apache flex 当Flex应用程序可以';是否在指定的帧速率下运行?,apache-flex,flash,actionscript-3,performance,Apache Flex,Flash,Actionscript 3,Performance,在我们的应用程序(游戏)中,在某些情况下,它的运行速度不够快。显然,我们希望加快速度,但与此同时,当这种情况发生时,它会导致许多问题(或者,如果它没有导致问题,那么这两者是相关的)。 与我们自己的功能最不相关的是内置的Alert.show()方法停止工作。通常会出现全屏透明框,但不会出现实际的弹出窗口。我相信这取决于Flex将所有可用的周期分配给其他任务。。。但事实证明很难进行分析研究,所以我很高兴听到另一种解释 澄清一下,Flex的核心部分在这种情况下根本不起作用。我已经详细介绍了代码,例如,

在我们的应用程序(游戏)中,在某些情况下,它的运行速度不够快。显然,我们希望加快速度,但与此同时,当这种情况发生时,它会导致许多问题(或者,如果它没有导致问题,那么这两者是相关的)。 与我们自己的功能最不相关的是内置的Alert.show()方法停止工作。通常会出现全屏透明框,但不会出现实际的弹出窗口。我相信这取决于Flex将所有可用的周期分配给其他任务。。。但事实证明很难进行分析研究,所以我很高兴听到另一种解释

澄清一下,Flex的核心部分在这种情况下根本不起作用。我已经详细介绍了代码,例如,在屏幕上添加了一个新元素,一切都发生了,并且在主显示画布上调用了addChild()方法。。。但随后该元素不会出现。如果我们禁用更新循环,元素会突然出现


因此,不管Flex是否应该运行完全相同的代码,它以某种奇怪的方式进行阻塞。正如我所说,即使是Flex Alert.show()方法也不起作用。

我不太确定Flex是否有自己的额外性能处理。但是对于纯actionscript来说,唯一会发生的事情是帧速率会减慢到爬行速度,一切正常情况下都会变慢。如果你堆叠了大量的透明或遮罩对象,你可能会有一些奇怪的行为,但这应该是更值得注意的


我想告诉你,用Flex制作游戏并不是一个好主意(仅仅因为框架的性能开销),现在已经有点晚了;)

我喜欢用FLEX 3(actionscript3)制作游戏,与Flash CS3相比,它实际上是一个非常方便的解决方案:良好的调试环境,没有任何麻烦。 当然,这取决于游戏风格,哪一种更好,如果你需要很多图形,你可能更喜欢Flash,但是Flex允许你使用外部图像、组件等。注意,我这里不是在谈论Flex XML项目

性能问题的答案:您可以使用旧MacOSX机器来查看速度非常慢的机器会发生什么情况,有几种解决方案: -当机器旧时,移动对象超过x++y++像素 -减少对象


您可以使用计时器检测机器的速度。

所有Flash内容都是逐帧执行的-Flash执行一帧的代码,然后更新屏幕,然后等待下一帧更新

当Flash无法跟上指定的帧速率时,所发生的一切是,Flash不需要在帧更新之间等待,而是尽可能快地完成更新,而不需要在帧更新之间等待。因此,唯一明显的区别是帧更新发生的频率较低。从来没有跳过代码、删除事件或出于性能原因跳过屏幕重画的情况(除非您发现了新的bug)


因此,最可能的罪魁祸首是,要么您的代码与时间有关(例如,希望两个计时器在同一帧上触发的代码),要么其他一些被误诊的问题。(例如,可能是某个bug导致了速度减慢,而不是速度减慢导致了您的bug。)

Flex是一个不错的选择。比用CS3编写一个真正的软件要好得多。。。我不知道如果你不使用Flex特有的功能会有多少开销;这与Flash中的渲染层次结构相同。对于Flex,他可能只是指Flex编译器,而不是带有mxml的Flex Builder等。我认为很自然地假设“Flex游戏”将使用Flex框架。在flex builder中编写纯as3游戏并不意味着它是flex游戏。这里使用的IDE其实不那么重要。我发现在谈论Flex开发时,没有什么可以假设的“Flash”涵盖了从图形设计到核心编程的一切,Flex通常被认为是“商业图表应用程序”的意思。