Skip to main content
Inspiring
June 15, 2011
Question

AIR 2.7 SDK bug: GPU mode display is wrong in iOS

  • June 15, 2011
  • 2 replies
  • 4664 views

Hi, I've just downloaded new AIR 2.7 SDK: http://www.adobe.com/products/air/sdk/

I've tested it in an iPad 2 and I've found out that in GPU mode my application only takes a little more than a quarter of the screen (the rest of the screen is white, and the background color of my SWF is not even white!). The app is correctly configured for iPad resolution, yet it's shown smaller, a few pixels off screen at the top, plus some click events don't work.

Why is this? AIR 2.6 worked fine in GPU mode.

In CPU mode none of this happens. What's the problem with GPU mode?

To use the AIR 2.7 SDK I've just renamed the directory "C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\AIR2.6" to something else, then I've created a new "AIR2.6" directory in the same location and then extracted there the contents of the AIR 2.7 SDK ZIP file, so Flash uses AIR 2.7 even though it's looking for the "AIR2.6" directory. I've also replaced the "airglobal.swc" file in the directory "C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\Common\Configuration\ActionScript 3.0\AIR2.6".

Did I do anything wrong? In CPU mode it works perfectly, so I don't think I messed anything up when substituting AIR 2.6 with AIR 2.7

Videos run smoother in GPU mode, so I'd prefer to use that mode.

This topic has been closed for replies.

2 replies

Participating Frequently
July 19, 2011

This was reported to have been fixed and the SDKs have been updated: http://www.adobe.com/products/air/sdk/

OMA2kAuthor
Inspiring
July 19, 2011

Thanks for the heads up! I've downloaded AIR 2.7 again, and I've certainly noticed that ADL, ADT and a few other files have been updated and have a date of 28th of June, instead of 9th of June. I'll try with this newer version.

What other fixes does this updated version have? (there's no "what's new" file). Also, why hasn't the version number changed to, say, AIR 2.7.1 or something like that? It can be confusing to have several versions share the exact same version number. I know this is supposed to be a minor fix, but still, version number should have changed, since the download package was updated.

chris.campbell
Legend
July 19, 2011

I'm not positive why we didn't increment the version number, but I believe it was due to the very limited change that occurred.  The only bugs fixed with this release were two GPU issues ("Wrong output in gpu mode" #2889147 and "white stripe appears at the bottom of screen, honeycomb only" #2786094).

Chris

Participating Frequently
June 16, 2011

Hi,

Thanks for reporting the bug. As a workaround, you could launch the application in portrait mode set autoOrients to true in application xml or explicitly setAspectRatio to landscape in your application.

Hope it helps.

Thanks,

Sanika

OMA2kAuthor
Inspiring
June 16, 2011

Thanks for your answer. I did as you suggested. I set the app to Portrait with autoOrients set to true, and then used the following line to set it back to landscape:

stage.setAspectRatio(StageAspectRatio.LANDSCAPE);

That kind of fixes the problem, but everytime the app is launched it shows the screen doing some odd rotations, and then the application is upside down until you manually rotate the iPad so it's vertical and then horizontal again. I've also tried setOrientation but neither of the available orientations completely fixes the problem (I either get an upside down screen or a small display). Only using CPU rendering fixes it (it works full screen in the correct orientation, without the need of tinkering with aspect ratios and orientations).

So, all these problems don't happen in CPU mode. And it also didn't happen in GPU mode with the previous version or AIR (2.6). Why this regression in AIR 2.7?

Participating Frequently
June 18, 2011

Hi,

I posted the workaround on another thread, missed this one. The issue will affect you if

you have set

aspectRatio -> Landscape

renderMode -> gpu

fullScreen -> true

in your app xml.

As a workaround, you could launch the application in portrait mode set autoOrients to true in application xml or explicitly setAspectRatio to landscape in your application using stage.setAspectRatio(StageAspectRatio.LANDSCAPE);

Hope it helps.

Thanks,

Sanika