Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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
Performance 如果闪烁';s System.totalMemory是水平的,这是没有内存泄漏的可靠证据吗?_Performance_Actionscript 3_Flash_Apache Flex_Animation - Fatal编程技术网

Performance 如果闪烁';s System.totalMemory是水平的,这是没有内存泄漏的可靠证据吗?

Performance 如果闪烁';s System.totalMemory是水平的,这是没有内存泄漏的可靠证据吗?,performance,actionscript-3,flash,apache-flex,animation,Performance,Actionscript 3,Flash,Apache Flex,Animation,我的基本问题:System.totalMemory是否可以不报告内存泄漏 更新:虽然我的性能问题的来源从未得到充分验证,但可能与GPU/CPU问题有关(如@divillysauses假设的),我无法在目标系统上轻松测量。在提出这个问题后的一天内,出现了一个奇怪的、经典的、奇怪的bug转向,问题似乎已经解决了。就本问答而言,我认为可以肯定地说System.totalMemory的报告是准确的 背景:我正在开发3款全屏AdobeAir3应用程序。这三个应用程序和三个VLC播放器在多屏幕Windo

我的基本问题:System.totalMemory是否可以不报告内存泄漏


更新:虽然我的性能问题的来源从未得到充分验证,但可能与GPU/CPU问题有关(如@divillysauses假设的),我无法在目标系统上轻松测量。在提出这个问题后的一天内,出现了一个奇怪的、经典的、奇怪的bug转向,问题似乎已经解决了。就本问答而言,我认为可以肯定地说System.totalMemory的报告是准确的


背景:我正在开发3款全屏AdobeAir3应用程序。这三个应用程序和三个VLC播放器在多屏幕Windows7机器上持续运行。每个AIR应用程序在六个1080p屏幕中的一个屏幕上进行全屏幕显示。AIR应用程序使用Robotlegs 1.5.2(带惰性中介)、AS3信号(带松弛信号)和我自己的样板外壳,实现共享方面:记录器、加载器、基本UI、调度服务、配置解析器。我一直在有条不紊地对外壳进行压力测试,它看起来不错。这三个应用程序都会定期加载数据(让我们大约5分钟)并更新其视图,自动压力测试表明,即使在受到更新的重击时,加载程序和解析器也是内存安全的。初始化后创建的对象很少,应用程序或多或少只是不断更新相同的显示对象,大多数创建都发生在启动期间

问题:在目标系统上运行几个小时后,动画重模块的渲染速率会受到影响

这个问题显然是分层的,但我有点恼火,因为我一直在使用Flash Builder Profilier和Mr Doobs Stats工具进行评测,在评测期间内存使用似乎稳定得很好(即使FB Profilier对字符串做了一些奇怪的事情:)。当动画重的应用程序启动时,它的内存使用率相当快,并且动画性能仍然很好,然后我在几个小时后检查,动画不稳定,不规则,应用程序UI缓慢且无响应。另外两个应用程序(以低帧速率运行,没有动画)看起来相当不错,分别消耗相同和更多的内存。重新启动动画应用程序修复了该问题

更多上下文:

  • 动画重量级应用程序会根据动画的不同,将stage.frameRate调节在15到40之间-起初我认为恒定的帧速率会有所帮助,但后来我遇到了麻烦,在动画开始之前确保所有的数据解析都发生了,以防动画想要的比赛条件开始在某种数据处理洪流的中间…我在考虑使用一个恒定的帧,但它看起来像是一个长镜头

  • 使用Greensock的TweenMax制作动画,最初发现了一个我堵塞的内存泄漏(我自己的一个错误实现的例子)——目前TimelineMax和TweenLite实例是我不断创建和销毁的一个实例,它们看起来很好

  • 很少创建新对象(基本上是没有事件侦听器且其值经常被覆盖的值对象)——没有循环创建/销毁显示对象

  • 尽可能多地使用信号和回调而不是事件

  • 尽可能多地共享和重用计时器对象,并更多地使用它们来计时秒,从而将计时器实例的数量降至最低(5-6)

  • 使用renderMode“auto”-不确定是否应更改此选项以部署到Windows 7计算机


我在工作中开发了一个类似的应用程序。它作为本机可执行文件全天候运行,并加载twitter数据和图像。我没有使用框架,但我认为这并不重要

事实上,我发现了与你相反的情况,我的应用程序可以在Windows上完美运行,并在OSX上开始结巴


您是否在您的显示计算机上运行测试,而不仅仅是在您的开发计算机上?我制作了一个简单的RAM计算器,只有在点击电影时才可见。这在过去我调试生产时帮助了我

我在工作中开发了一个类似的应用程序。它作为本机可执行文件全天候运行,并加载twitter数据和图像。我没有使用框架,但我认为这并不重要

事实上,我发现了与你相反的情况,我的应用程序可以在Windows上完美运行,并在OSX上开始结巴


您是否在您的显示计算机上运行测试,而不仅仅是在您的开发计算机上?我制作了一个简单的RAM计算器,只有在点击电影时才可见。这在过去我调试生产时帮助了我

断断续续的动画听起来像是帧速率,或者cpu/gpu被阻塞了,因此渲染时会受到影响-即使在内存正常的情况下也会发生这种情况


尝试通过monocle运行您的应用程序,您将能够看到图形性能和背景情况:

起伏的动画听起来像是帧速率,或者cpu/gpu被阻塞,因此您渲染时会受到影响-即使您的内存正常,也会发生这种情况


尝试通过monocle运行你的应用程序,你将能够看到图形性能和背景情况:

是的,当Flash存在跨平台性能差异时,它很糟糕。在我的例子中,Windows7框基本上是实时的,并且是公开的,所以很难坐下来监视应用程序或运行评测测试。我有杜布斯先生的统计工具和我自己的控制台/记录器,我可以随意打开。内存使用是恒定的,记录器显示消息…但即使Doob先生报告了良好的帧速率,实际上屏幕刷新也非常糟糕。这太奇怪了。。。我想知道你是否可以做一些“硬刷新”