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

AIR 3.6: Objects disappearing in GPU mode on Android

Engaged ,
May 03, 2013 May 03, 2013

Copy link to clipboard

Copied

Hi,

I begin to receive more and more reports from my Android users, telling me that some elements in my published apps are invisible to them.

I created some Oracle Cards apps, showing up to 44 cards in a coverflow style (see a screenshot here: http://www.indie-goes.com/wp-content/uploads/2012/10/Screenshot4.jpg. You can also try a demo version here: http://www.indie-goes.com/apps/crystalwind/demo/)

The free version of the app displays 10 cards in the coverflow, and all works fine. But when people get the full version through in-app purchase, which displays 44 cards, no card appears at all: just the background.

A few facts:

- The app is compiled in GPU mode

- the free and full versions share the same code, so the only difference is the number of cards that will be displayed

- cards are simply bitmaps inside sprites, on which I apply a rotationY effect

- the app doesn't actually crash: the elements are just invisible

- I tried to remove the elements that are outside the screen from the display list (with removeChild), so there is always a maximum of 4 children cards displayed at the same time, but the problem is still occuring

- If I change the compile mode to CPU, it works fine (but is slow, of course)

- This issue occurs at least for sure on a samsung galaxy 7" tablet with Android 4.1.1 Jellybean

I painfully gathered this information from my users, but I can't ask them to test every beta build I create. The only two causes I can figure out right now is either: a compatibility problem with a specific GPU, or a problem with newest versions of the Android system.

Is someone else experiencing the same issue?

Thank you!

Frédéric

TOPICS
Development

Views

1.8K

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
community guidelines

correct answers 1 Correct answer

Engaged , May 04, 2013 May 04, 2013

Thank you for your replies.

Nimit, I sent you a sample project at your address.

Actually, thanks to a very patient friend, and after spending the day on this issue, I finally found what the problem is: it is rotationY that bugs.

If I use this very simple code:

               var sprite:Sprite = new Sprite();

                var bm:Bitmap = new Bitmap(new BitmapData(213, 320, false, 0xFF0000));

                bm.x = 106;

                bm.y = 160;

                sprite.addChild(bm);

                spr

...

Votes

Translate

Translate
Engaged ,
May 04, 2013 May 04, 2013

Copy link to clipboard

Copied

Now I got confirmation that it also happens with latest AIR 3.7 beta, on a Motorola RAZR Maxx on Android 4.1

Votes

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
community guidelines
Adobe Employee ,
May 04, 2013 May 04, 2013

Copy link to clipboard

Copied

Hi,

That's really unfortunate that you are seeing this with 3.7 as well. Would it be possible to share a sample project at nimitja@adobedotcom so that we can reproduce this locally. This will help us investigating the problem.

Regards,

Nimit

Votes

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
community guidelines
LEGEND ,
May 04, 2013 May 04, 2013

Copy link to clipboard

Copied

With GPU mode it's important to not be changing the look of your graphics, at all, if possible. If you have a constantly changing image, it doesn't take long for the GPU texture memory to fill up, and for various visual glitches to start to happen.

Votes

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
community guidelines
Community Beginner ,
May 04, 2013 May 04, 2013

Copy link to clipboard

Copied

Hi, I have had some odd issues testing on a Samsung Tab 10.1 as well.

Code that works perfectly fine on a desktop produces odd errors on the Samsung Tab 10.1......are you setting visibility to true for a specific count like

when counter ==1

movie.visible ==true

I found that although this code works fine on the desktop, on the tablet it sometimes misses the count when you first enter a frame.  And it seems to depend on when you add your listener event.  So I have had to adjust my code so that I set visibility to true on several counts like

when counter <=3

movie.visible ==true

The app I am developing uses lots of collision detection, and I have had situations where there are no objects colliding on the Tablet and yet a collision seems to be detected.  This is impossible to reproduce on a desktop so I have had to find some workarounds.

Votes

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
community guidelines
Engaged ,
May 04, 2013 May 04, 2013

Copy link to clipboard

Copied

Thank you for your replies.

Nimit, I sent you a sample project at your address.

Actually, thanks to a very patient friend, and after spending the day on this issue, I finally found what the problem is: it is rotationY that bugs.

If I use this very simple code:

               var sprite:Sprite = new Sprite();

                var bm:Bitmap = new Bitmap(new BitmapData(213, 320, false, 0xFF0000));

                bm.x = 106;

                bm.y = 160;

                sprite.addChild(bm);

                sprite.rotationY = 0;

                sprite.x = xpos;

                addChild(sprite);

On a Motorola RAZR Maxx under Android 4.1, the stage is blank in GPU mode (and is working fine in CPU mode).

If I comment the line : sprite.rotationY = 0;

It then works fine even in GPU mode.

I had to reimplement my carousel, so it uses another effect (zooming instead of rotating), and now it works fine even on my friends device.

So this is a real bug in AIR 3.7.

I hope this helps.

Frédéric

Votes

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
community guidelines
Adobe Employee ,
May 05, 2013 May 05, 2013

Copy link to clipboard

Copied

Hi Frederic,

The problem you reported is reproducible. Could you please open a new bug report on this over at bugbase.adobe.com? Once the bug has been added would you mind posting back with the URL so that others affected can add their votes and comments?

Thanks again for reporting,

Nimit

Votes

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
community guidelines
Engaged ,
May 05, 2013 May 05, 2013

Copy link to clipboard

Copied

Hi Nimit,

I reported the bug here: https://bugbase.adobe.com/index.cfm?event=bug&id=3554596

Good luck Adobe team!

Frédéric

Votes

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
community guidelines
Engaged ,
Nov 15, 2013 Nov 15, 2013

Copy link to clipboard

Copied

LATEST

Reviving an old thread, but this issue has appeared again

It's really a pain to have to update my apps each time a new Android version is released, trying to find workarounds. This time, a user luckily reported the issue on an Asus Memo Pad 7'' with Android 4.2.2, so I'm aware this issue still exists. I created an entry in the bugbase here: https://bugbase.adobe.com/index.cfm?event=bug&id=3669401

Edit: Happens also on Motorola Razor MAXX, with Android 4.1.1. Seems there was a regression.

Thank you for your support!

Votes

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
community guidelines