Highlighted

AIR in Android performance

New Here ,
Aug 04, 2015

Copy link to clipboard

Copied

Hello every one.

I have a 3D project build in FlashDevelop. I publish to ios and android platform.

Then, I found that android's performance is quite low compare to ios system.

Did anyone have the same issue?

3D Engine: Away3D-4.1.6.

Platform: AIR Mobile 18.0

SDK: AIR 17.0

Android machine: Z2 tablet.

ios machine: iPad4.

TOPICS
Air beta

Views

830

Likes

Translate

Translate

Report

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

AIR in Android performance

New Here ,
Aug 04, 2015

Copy link to clipboard

Copied

Hello every one.

I have a 3D project build in FlashDevelop. I publish to ios and android platform.

Then, I found that android's performance is quite low compare to ios system.

Did anyone have the same issue?

3D Engine: Away3D-4.1.6.

Platform: AIR Mobile 18.0

SDK: AIR 17.0

Android machine: Z2 tablet.

ios machine: iPad4.

TOPICS
Air beta

Views

831

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Aug 04, 2015 0
Engaged ,
Aug 05, 2015

Copy link to clipboard

Copied

Did you try GPU?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 05, 2015 0
Adobe Community Professional ,
Aug 05, 2015

Copy link to clipboard

Copied

If Away3D is using Stage3D, the render mode would have to be Direct, not GPU.

The processor is very fast, I don't see why it would perform slowly. One difference is that it's not exactly ARMv7, it's an extension of that, which may mean it has to emulate to do ARMv7 things. But still, I would expect it to work well.

Try using Scout to see what parts of the screen are being updated every frame. Also, try the latest version of AIR, there were recent performance improvements.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 05, 2015 1
New Here ,
Aug 05, 2015

Copy link to clipboard

Copied

Scout shows that enterframe are the main bottle neck. Which means Away3D cost the most time to render.

So I was wonder if that Adobe didn't optimize the Android platform. Because even iPad 2 is better than Sony Z2 tablet.

That doesn't make sense.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 05, 2015 0
Community Beginner ,
Aug 06, 2015

Copy link to clipboard

Copied

Do you have a recorderd scout session we can have a look at?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 06, 2015 0
New Here ,
Aug 06, 2015

Copy link to clipboard

Copied

Thx for your reply.

The url is the scout session.

Dropbox - AIR_Android.flm

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 06, 2015 0
Community Beginner ,
Aug 06, 2015

Copy link to clipboard

Copied

Hi ShengShane,

to get more insight what's causing your high cpu time please enable advanced-telemetry for your .swf via the -advanced-telemetry compiler argument.

Can you provide a scout session with advanced-telemetry enabled?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 06, 2015 0
New Here ,
Aug 06, 2015

Copy link to clipboard

Copied

Dropbox - AIR_Android.flm

Here you go.

Again, thanks for your reply

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 06, 2015 0
Community Beginner ,
Aug 10, 2015

Copy link to clipboard

Copied

Hi ShengShane,

Sorry, I didn't have much time to look into your issue.

Some smaller things that I recognized are really high stage3D call times in some frames. For example .setProgramConstantsFromVector() takes in some frames more then 20 ms. Maybe you are using way to much different materials or your materials are too complex for mobile devices.

An other thing I recognized is that you are handling event enterFrame 28x times.

It's good practice to handle it only once in you're gameloop and pass the deltaTime to all other game modules requiring it.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 10, 2015 0
New Here ,
Aug 11, 2015

Copy link to clipboard

Copied

But it is really weird. Why the same code running on ios and android, the performance has huge difference?

iPad 2 hardware is better than Sony Z2 ?

That doesn't make sense.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 11, 2015 0