Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Oscillating performance problem in AIR for desktop

Explorer ,
Oct 05, 2013 Oct 05, 2013

I’m currently developing an AIR desktop application that will be used in a gallery as an interactive touch screen exhibit, and I’ve encountered a problem with stuttering / oscillating performance that I am currently unable to resolve. I would be grateful if anyone can offer any assistance or advise as to what might be the cause, or where I might look for more information in resolving this issue.

The application allows people to browse through a series of menus and options, and explore, photos, videos and text information. It’s designed at full HD resolution, and uses StageVideo to display a looping video clip as the background of the interface. Some of the menus are presented as carousels that can be rotated in either direction, and the items within the carousel can be selected to display further screens of information. Animation of the carousels and other parts of the interface is done using Greensocks TweenMax, which I’ve successfully used before without problem. When I run the application on the specific computer on which it will be installed, the performance of the carousel rotation and other animated items seems to stutter, or oscillate. The animation doesn’t appear to constantly perform slowly, it’s more that the animation speed seems to alternate between slow, normal, slow, normal, etc, several times a second, giving the impression of a jerky performance. The application framerate is 50fps. I’ve tried reducing it to 30fps, but the performance issue still occurs.

When the application runs it first displays a screensaver. Interrupting the screensaver then displays a carousel menu with 4 options. When rotating the carousel, and the performance problem occurs, Windows task manager says the application is only using around 70MB memory, and CPU usage is minimal.

I’ve run the application on 4 very differently spec’d computers, with differing results. Computer specs as follows:

Computer 1 – My development computer

  • i7-3930K – 3.2GHz (overclocked to 4.5GHz)
  • Win 7 Pro 64-bit
  • 32GB RAM
  • SSD
  • 2 x NVIDIA GeForce GT 440 – 1GB DDR5
  • Hyper-threaded


Computer 2 – My laptop

  • i7 Q 720 – 1.6GHZ
  • Win 7 Pro 64-bit
  • 8GB RAM
  • SSD
  • NVIDIA GeForce GT 330M – 1GB DDR3
  • Hyper-threaded


Computer 3 – My other computer

  • Core 2 Duo – 2.4GHz
  • Win 7 Pro 32-bit
  • 4GB RAM
  • HDD
  • NVIDIA GeForce 7900 GS – 256MB DDR3
  • Not hyper-threaded


Computer 4 – Intended installation computer for the application

  • i5-4670 – 3.40GHz
  • Win 7 Home Premium 64-bit
  • 8GB RAM
  • SSD
  • Onboard Intel HD Graphics 4600 – now disabled and upgraded to NVIDIA GeForce GTX 650 Ti BOOST – 2GB DDR5. No difference with either card.
  • Not hyper-threaded (disabled in bios)

Computer #1 - The application runs as intended. I have had no problems with the stuttering performance. I’ve run the application on this computer when overclocked at 4.5GHz, and also with the overclocking switched off (running at normal 3.2GHz). The application works fine in both cases.

Computer #2 – The performance varies here. Some of the time the application runs as intended, without any sign of the stuttering performance. However, on some occasions when the application is run, the performance of the animations will stutter. I cannot determine the reason for the variation.

Computer #3 - The application runs as intended, but at a slightly lower framerate, most likely due to the lower spec of this older computer. I have had no problems with the stuttering performance.

Computer #4 – The application has never run as intended. Every time it runs, the performance stutters on this computer.

Flash CC Publish Settings

  • Swf settings: Hardware acceleration = Level 2 – GPU
  • AIR 3.8.0.1430 for Desktop
  • Render mode = Direct

I’ve started to use Adobe Scout to investigate the problem, and have read through the following article.

http://www.adobe.com/devnet/scout/articles/understanding-flashplayer-with-scout.html

‘Waiting for GPU’ seems to be an issue, from what I can determine in Scout. The above article says…

“Here's a great tip: If your content shows excessive Waiting for GPU time in Scout, try temporarily disabling hardware acceleration in Flash Player (right-click and select Settings). This will cause Flash Player to fall back to software rendering, and the waiting time will vanish, so you can confirm that your problem is GPU-related.”

… I followed the advice above, and the oscillating performance issue was gone on the intended installation computer, but the screen redrawing performance was really bad (due to the CPU rendering the app). I believe this confirms my issue is related to using the GPU. However, upgrading the intended installation computer from it’s onboard Intel card to an Nvidia GTX650 has made no difference.

One option might be to replace the installation computer with a specification that is identical to my developer computer (#1), but I don’t think my client will have the budget for this.

Googling the problem hasn’t provided much help so far, but I’ve seen a few other people mention ‘waiting for GPU’ and ‘synchronization between CPU and GPU’?

Can anyone provide any clues, or a way forward to help me resolve this?

Many thanks

Simon

TOPICS
ActionScript
755
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guru ,
Oct 07, 2013 Oct 07, 2013
LATEST

1.Make sure you understand the big differences between video and stagevideo, its tempting to think that stagevideo is the better videosoultion in any case, but its not.

The best Article (however a little outdated) on the subject is imo: http://www.adobe.com/devnet/flashplayer/articles/stage_video.html

2.In a performance heavy environment the combination stageVideo+greensock might not be the optimal solution, if you have time to reprogram Starling/feathers will probably give you a much better performing combination:

http://forum.starling-framework.org/topic/stagevideo-with-starling-example

3.I don`t know how you encode your Backgroundvideo, there are literally dozens of viable codecs that should differ extremly in how they stress the gpu/cpu. Maybe you have to experiment with a lower than HD resoultion and see if scaling up the background is a good compromise.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines