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
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
...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
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
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.
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.
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
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
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
Copy link to clipboard
Copied
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!