Skip to main content
Participant
December 16, 2013
Question

The Performance is too low.

  • December 16, 2013
  • 2 replies
  • 2147 views

No substantive update.

And its performance is almost no difference AIR3.1.

Can we give up AIR?

This topic has been closed for replies.

2 replies

周戈35_2
Inspiring
December 19, 2013

If you set renderMode to direct in the -app.xml file, your application will perform very well on mobile devices, no need to use Stage3D.

And I think it's better if Adobe AIR team sets direct as the default renderMode.

Colin Holgate
Inspiring
December 19, 2013

What you say about using Direct is misleading, or even incorrect. You will get very good performance if you’re using Direct and Stage3D, on all devices (unless you use too much GPU texture memory), but if you’re using Direct with regular displaylist rendering, the performance you’ll see is proportionate to the screen area that is being updated. For anything but the smallest area you will find that iPad 3 Retina does not give good performance, and you have to specifically exclude that device in order to get good performance.

If you use GPU render mode you can get very good performance even on iPad 1, so long as your animations are reusing the same symbols. If the animation is a long sequence of unique frames, then you’ll run out of GPU memory quite quickly.

周戈35_2
Inspiring
December 20, 2013

Hi Colin,

I know exactly what you talking about, but please believe me that when renderMode set to direct, the regular display list app (not using Stage3D) will perform very well on mobile devices, even on iPhone/iPad Retina Display.

Here is the proof, I posted this thread on Apache Flex Development Forum:

http://apache-flex-development.2333347.n4.nabble.com/Greate-News-Flex-4-10-with-AIR-3-8-running-very-smooth-on-iOS-and-Mac-OS-when-quot-renderMode-quot-s-td75.html

Please read all the replies of that thread, they tested and agreed.

I'm developing a project (it's not a game) using Flex SDK, and the project targets on iPad and Mac, I test it on iPad 3 and MacBook Pro with retina display, the performance is product quality, but I do have to rewrite some components like List by my own, because some Flex components do not work as expected on mobiles.

By the way, I modify Flex Application Class runtimeDPIProvider to get my Flex app scaled to 2x on Retina Display iPhone/iPad, and use a lot of FXGs to design the skins, so when it scales up, it looks beautiful.

Adobe dropped Flex, and Flash CC dropped FXG exporting. Me as a developer is so sad to see Adobe dropping the technologies that actually works and spending money on some that doesn't work as expected like HTML 5 tool Edge. And I see the latest Flash CC update supports H5 Canvas authoring, which puts Edge in an embarrassing situation...

OK, at last I wanna say, Stage3D on mobiles has a fatal drawback: if you upload too many stuff to the GPU, and wanna display too many stuff, the app CRASHES easily!

On the other hand, the same situation on regular display list app, display too many stuff will result in very low frame rate, but hard to crash, because unlike GPU memory limits, CPU based apps can use physical and virtual memories combined!

DarkStone

2013-12-20

Colin Holgate
Inspiring
December 16, 2013

Many if us do 60 fps games in AIR, so the performance can be good. What’s an example of something you’re finding to be poor performance?

Participant
December 16, 2013

MMORPG  Game ,  3D on Mobile.

I have tested sns game like city village on itouch4 ipad , iphone . the performance is poor.

When the draw call is 200 on cocos2dx, The performance is very nice.

But using AIR , when the draw call is 100 . The performance is very slow.

Known Participant
December 18, 2013

try some game using stage3d lib like starling. or just try starling demo project on mobile, you will get the idea