Skip to main content
Known Participant
August 18, 2013
Question

Air Android - Performance issues

  • August 18, 2013
  • 1 reply
  • 1680 views

Hi,

I'm using Air 3.6 and an app I'm working on runs smooth on most devices but on the Nexus it's very unresponsive and slow.

I'm using DIRECT for the render mode.

Are there any known bugs with Air Android apps running slow on Nexus devices?

Thanks

This topic has been closed for replies.

1 reply

zeh
Inspiring
August 19, 2013

What "Nexus" do you mean?

I'll just re-post something I've posted in the other thread, it seems to apply here:

Android 2.3-ish models might actually run something faster because typically those are lower end devices that actually have less pixels to fill. When you move into a higher-end device, despite having better hardware overall, the device (and Flash) has to do a lot more work to render content on the screen. Twice the pixel density (which is more or less the average when you compare old 2.x devices to newer 4.x devices) means 4 times the data to deal with. You have to take this into consideration. If you have complex content being rendered, you need to either plan on caching them as bitmaps or use GPU accelerated graphics (Stage3d/Starling, etc). You can get insane fill rates with those. Sometimes you should even cache them using a lower pixel density than what the screen allows, just because of the memory it takes. It's hard to say what's the problem without knowing specifics of what performance issues you're having, but I'd bet that's the case.

Just so you know, it's not just the render mode you use. It's how you use it. A "direct" rendermode might as well be slower than "CPU" if you're not using it the way it's supposed to be used (actual GPU compositing).

blogtomAuthor
Known Participant
August 19, 2013

Thanks for your answer.

I meant Nexus 4 but it looks like most Nexus devices and Samsung Galaxy devices having problems with the performance.

My app is a note taking app that is just vector based.

I'm using cacheAsBitmap for the buttons.

What render mode should I use for it?

Inspiring
August 19, 2013

I use a Nexus 4 with CPU rendering and it works fine. I build all my own UIs (not Flex) and find performance is generally very good, including tweens, scrolling, touch response, etc. I haven't tested on any other devices at this point.

Direct is intended to be used with Stage3D, not the traditional vector renderer. There's also render mode GPU which is supposed to take advantage of the GPU for rendering with the traditional vector rasterizer, which would be awesome (Stage3D is such a pain to use) but comes with a lot of restrictions and limitations. At this point Adobe recommends against using GPU, and instead using Stage3D.

There's also Scaleform (http://gameware.autodesk.com/scaleform/features) which is like Adobe's GPU render mode but it looks to work a lot better without as many limitations, though you have to buy their packager and such. I haven't used it myself.

-Aaron