Stage.quality

Could someone (preferably an Adobe dev) please explain to me why the stage quality in AIR cannot be set to anything other than "best" and "high".

Thanks for such a clear and concise reply.
Regarding the level of control over the stage quality, there are several reasons why I believe we should have full/standard control over the stage quality in AIR. First and foremost is rendering performance, any developers planning to create games or use 3D libraries such as PaperVision or Sandy etc are going to be hit hard by a rendering bottleneck if the stage quality cannot be set to "low" or "medium". As far as application GUIs are concerned, if a GUI consists mostly of bitmap images (i.e. it doesn't use many vectors) then there is no real reason to use a stage quality of "high" or "best". Developers should be allowed to decide how to balance aliasing/performance in their applications, preventing them from making that decision because of an AIR-specific display list issue seems excessive to me.
How to tackle the issue of multiple windows (multiple stages) - make the stage quality setting in AIR global. In other words, changing the stage quality setting in one window will change the stage quality in all open windows, new windows can simply inherit the global stage quality value when they are created.
Honestly, I would be more than happy if the next release of AIR introduced nothing more than the ability to set the stage quality to "low" and "medium".

Similar Messages

  • How do I set the stage quality in an AIR app?

    In this article you can set the stage quality to 16X16LINEAR. I'm not able to do this in my AIR app:
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx"
      width="600" height="625"
      preinitialize="preinitializeHandler(event)"
      >
      <fx:Script>
      <![CDATA[
      import mx.core.FlexGlobals;
      import mx.events.FlexEvent;
      import mx.managers.SystemManager;
      protected function preinitializeHandler(event:FlexEvent):void {
      systemManager.topLevelSystemManager.stage.quality = StageQuality.HIGH_16X16_LINEAR;
      trace("quality=" + systemManager.topLevelSystemManager.stage.quality); // HIGH
      ]]>
      </fx:Script>
    </s:WindowedApplication>
    Flash Player 11.2 graphical gem | kaourantin.net

    From Adobe docs:
    "In the desktop profile of Adobe AIR, quality can be set to StageQuality.BEST or StageQuality.HIGH (and the default value is StageQuality.HIGH). Attempting to set it to another value has no effect (and the property remains unchanged). In the moble profile of AIR, all four quality settings are available. The default value on mobile devices is StageQuality.MEDIUM."
    StageQuality - Adobe ActionScript® 3 (AS3 ) API Reference

  • Stage.quality property on FLEX and AIR

    There are 2 source codes to resize bitmap data, one for AIR, one for FLEX.
    The codes are same without .mxml head statement that is
    <mx:WindowedApplication> or <mx:Application>.
    The code are:
    1. create TextField object and set "XYZ" into it with font-size:48px,bold.
    2. create 2 BitmaData objects, one for initial drawing, one for resized result.
    3. set stage.quality to "BEST". <-- this is current topic!
    4. draw bitmap data with TextField.
    5. resize above bitmap data to 1/3.
    6. create Bitmap object from resized bitmap data.
    7. display the bitmap on canvas.
    By executing them,
    FLEX environment makes the expected result that is good anti-aliased.
    But AIR environment makes no good result.
    then, I tried some patterns of stage.quality on FLEX and
    I found the AIR result is equal to stage.quality="HIGH" on FLEX.
    it seems the stage.quality "BEST" of AIR doesn't work?
    Thank you for your help.
    My environment:
    Windows XP
    Flex SDK 3.3 (FlexBuilder3)
    Flash player 9 or 10
    Air runtime 1.5.2  ////same result with 1.5.1
    program source code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
      <![CDATA[
       import mx.core.UIComponent;
       private function sample(event:Event):void{
        var txtf:TextField = new TextField();
        txtf.htmlText = "<FONT SIZE=\"48\"><b>XYZ</b></FONT>"
        var bmpCanvas:BitmapData = new BitmapData(txtf.textWidth, txtf.textHeight, true, 0x000000);
        var bmpResult:BitmapData = new BitmapData(txtf.textWidth, txtf.textHeight, true, 0x000000);
        stage.quality = StageQuality.BEST;
        bmpCanvas.draw(txtf);
        var myMatrix:Matrix = new Matrix();
        myMatrix.a = myMatrix.d = 1;
        myMatrix.scale(1/3, 1/3);
        bmpResult.draw(bmpCanvas, myMatrix, null, null, null, true);
        var bm:Bitmap = new Bitmap(bmpResult, PixelSnapping.ALWAYS, true);
        var ui:UIComponent = new UIComponent();
        ui.addChild(bm);
        cvs.addChild(ui);
      ]]>
    </mx:Script>
    <mx:Canvas x="10" y="10" width="200" height="200" backgroundColor="#FFFFFF" id="cvs" click="sample(event)">
    </mx:Canvas>
    </mx:WindowedApplication>

    Hi!
    It may be good with UIComponent.
    for example...
    - stage.quality = StageQuality.BEST;
    - var bm:Bitmap = new Bitmap(<your base BitmapData>, PixelSnapping.AUTO, true);
    - var ui:UIComponent = new UIComponent();
    - ui.addChild(bm);
    - var matrix:Matrix = new Matrix();
    - matrix.scale(1/3, 1/3);
    - <your new BitmapData>.draw(ui, matrix);

  • Stage.quality = StageQuality.LOW ignored ?  Is there a different way ?

    I need to set the stage quality or simply the quality of a specific movieclip to LOW while it tweens to improve performance.
    It seems StageQuality.LOW and StageQuality.MEDIUM are being ignored by AIR 3.2
    If anyone has any ideas it would be appreciated.
    Thanks!

    There was a bug with GPU mode.
    It is fixed now, download the public 3.3 beta.
    http://labs.adobe.com/technologies/flashplatformruntimes/air3-3/
    FYI: If you set the quality as soon as the app starts before any rendering it works in the buggy version, but you can't change it after startup.

  • Stage.quality [HELP]

    So to get great performance in my app I have to set stage.quality to low. 
    It works great on both iPad2 and iPad3
    I have noticed however... on the iPad2 my startup image quality is very bad.  However on the iPad3 the startup image is perfect.   Why wouldnt there be a quality loss on the iPad3? 
    Is there any way to have the startup image not be affected by the stage.quality parameter ?

    The start up image is shown before any part of Flash is loaded, and the quality should be perfect. Now, if you have these files in your package:
    Default.png
    [email protected]
    then you would get the symptoms you see, because the iPad 2 would use the Default.png file. Make sure you have these three files:
    Default.png
    Default-Landscape.png
    [email protected]
    assuming it's landscape. If it's portrait then have these files:
    Default.png
    Default-Portrait.png
    [email protected]

  • Stage Quality Limitations

    Does anyone know the reason why the stage quality is limited
    to "high" and "best" in AIR windows?
    It isn't a big problem but a lot of developers would no doubt
    prefer to set the stage quality to "low" or "medium" for games and
    for content taking advantage of Papervision etc, or even for
    bitmap-based application GUIs, so it seems a bit strange that this
    limitation is in place.
    Would you prefer to have all of the standard stage quality
    options available in AIR?

    There was a bug with GPU mode.
    It is fixed now, download the public 3.3 beta.
    http://labs.adobe.com/technologies/flashplatformruntimes/air3-3/
    FYI: If you set the quality as soon as the app starts before any rendering it works in the buggy version, but you can't change it after startup.

  • Stage Quality of Flex App automatically changes zu LOW

    Hi there.
    I have an issue with setting the stage quality of the
    flashplayer to
    high which is default.
    I set the quality in my HTML-Container to HIGH and in my flex
    application with stage.quality = StageQuality.HIGH;
    But after a couple of seconds the quality automatically
    changes to low.
    Is this a bug?
    I'm using Flexbuilder 3b3.

    stissing,
    I'm seeing this in other Button based controls as well
    (LinkButton, Button, CHeckBox, RadioButton).
    I filed a bug at
    http://bugs.adobe.com/jira/browse/SDK-19353
    Thanks,
    Peter

  • Video quality is less than expected when playing inside Flash

    iam using flv video. i played it back in many ways , with flv player that comes with flash ,as embedded in the time line and using external class that use  NetStream ,the video quality was less than playing the same video  outside the flash invironment using any  stand  alone video player like media player classic .
    why is that happening , did i miss some thing ?
    is there a setting  that i should do to play hd video in high quality ?
    i have tried setting stage.quality to BEST but it didn't affect the video quality ?
    any help  ?

    can't I just change the "Easy Setup" settings so it would work without degrading the input and subsequently the output? Sorry, I don't quite grasp "fixed-resolution" yet so may be asking something that doesn't have an answer.
    FCE only works with certain presets available in the Easy Setup menu. If your footage isn't one of these resolutions then FCE will conform it to the sequence you have selected, downgrading the footage in the process. Final Cut Pro gives you the option to make a sequence set to the dimensions you want it to be, without worrying about whether your image matches a preset.

  • How to put in low quality without use the mouse ?

    Hello,
    I look for a means to put an flash player application in low quality by passing only by the keyboard.
    By example, for put in high quality, I can use the hotkey shortcut ctrl + h.
    I search that too for the option 100% and "afficher tout" (in french).
    Thank you very good.
    (sorry for my approximately English)

    You can change the quality with the stage class in ActionScript. For example:  stage.quality= StageQuality.LOW;
    If you want to use key events to change that then you will have to create keyboard event listener and in your event listener function you change the stage's quality.
    Hope this give you some insight

  • Dynamically Changing Display Quality for Children

    I am interested in changing the display quality for a child SWF that is loaded in at Runtime, and changing it's Display quality based on user interaction.  Anyone know if this is possible?
    I have the following below, however it changes the entire application, not just the dynamically loaded SWF
    Any help would be greatly appreciated.
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                      xmlns:s="library://ns.adobe.com/flex/spark"
                      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                      applicationComplete="init()">
         <fx:Declarations>
         </fx:Declarations>
         <fx:Script>
              <![CDATA[
                   private var mc:*;
                   private function init():void{
                        var loader:Loader = new Loader();
                        loader.contentLoaderInfo.addEventListener( Event.COMPLETE, handleComp );
                        loader.load( new URLRequest( "my/swf/file.swf" ) );
                   private function handleComp( _event:Event ) :void{
                        mc = (_event.target.content)
                        av.addChild( mc );
                   private function changeQuality( _q:String ):void{
                        switch (_q){
                             case "low":          av.stage.quality = "low";          break;
                             case "medium":     av.stage.quality = "medium";     break;
                             case "high":     av.stage.quality = "high";          break;
              ]]>
         </fx:Script>
         <s:VGroup>
              <s:HGroup>
                   <s:Button label="low" click="changeQuality( 'low' )" />
                   <s:Button label="medium" click="changeQuality( 'medium' )" />
                   <s:Button label="high" click="changeQuality( 'high' )" />
              </s:HGroup>
              <s:SpriteVisualElement id="av" height="300" width="100" />
         </s:VGroup>
    </s:Application>

    Sorry i talked to fast...
    In fact I think there is only one instance of the Stage object in a running player. So the only way to do this would be to rasterize your Sprite and store it in a BitmapData object, changing the quality of the stage juste before rasterization and then restoring back after. There is something in the doc that talk about this kind of thing: http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36c11f3d612431904db9-7ffb.html
    Hope this is helpful...

  • How to improve render quality of FXG graphics (gradients, paths, alpha)

    Hi
    I created a  FXG graphical asset in Illustrator. Basically, it has some radial gradients along paths in it. Overlapping gradients have alpha values and blend over. I would assume this is a pretty common use case if you create glassy/half 3D designs.
    After importing this FXG into flex i can see that the code is clean, e.g.
                <s:Group x="0" y="0">
                    <s:Group x="0" y="0">
                        <s:Path data="<.. some coordinates... >" winding="nonZero" x="0.5" y="0.5">
                            <s:fill>
                                <s:RadialGradient scaleX="213" scaleY="213" x="106.5" y="106.5">
                                    <s:GradientEntry alpha="0.15" color="0xffffff" ratio="0.913963"/>
                                    <s:GradientEntry alpha="0" color="0xffffff" ratio="0.932299"/>
                                    <s:GradientEntry alpha="0" color="0xffffff" ratio="0.976023"/>
                                    <s:GradientEntry alpha="0.15" color="0xffffff" ratio="1"/>
                                </s:RadialGradient>
                            </s:fill>
                        </s:Path>
                    </s:Group>
                </s:Group>
    There are several groups with the gradients in my application and they overlap.
    In Illustrator it looks all very nice blended. In Flash 10/Flex 4 beta 2 the render quality seems to be not that nice, is there a way to improve that with some sort of setting maybe?
    The left one is the Illustrator rendering, the right one is the flash one.
    I tried:
    stage.quality = StageQuality.BEST;
    and added those lines to the addedToStage Handler of an AIR 2.0 application. It does not seem to make any difference.
    Any help would be very much appreciated.
    Thanks,
    Philipp

    I can't reproduce the path in the screenshot with the code you provided so I'm just blindly guessing, but can you try this on the latest nightly build: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4
    We recently made changes to how blendMode works on a Group that might affect this.

  • Quality and performance degradation when standalone Flash Lite has been sent to back

    Hi forum,
    I'm new to Flash Lite 4 on Symbian 3, I want to start working on a new app and am currently deciding if Flash Lite 4 is a good choice. I have just ran into my first problem: When I send my native Flash Lite 4 app (either running from an swf or started from a c++ stub --which obviously does the same, but I thought I should try it--) to the background (because f.i. a call comes in), and it comes back, the screen quality has degraded (as seen in textfields, it looks as if stage quality has gone to MEDIUM), the app runs more choppily, and, even worse, things drawn with the drawing API are drawn in a different way! (???) Line caps & miter settings appear to be lost. This is on a Nokia C7-00.
    This probably has to do with the new performance optimizations in mobile flash, but is there any way to avoid this, or to reset my flash lite app to "normal" state? Is there an event I can listen to? 
    Thanks in advance,
    Bas Horsting

    Here are the before and after screenshots.

  • Font and vector quality on iPad mini

    Hi,
    I have a quality problem with (mostly) fine vector lines and thin Fonts on iPad mini. On iPad retina everything is super sharp and looks as intended, but on the iPad mini it looks like stage quality low or something. Has anyone had the same problem? Do you have any ideas how to solve that?
    Best!

    Mobile devices use weak embeded CPU. Sooner or later this will cause performance issue and app quality. You must use GPU rendering instead.
    Retina show vector also not sharp. It have the same pixeled edges. But looking on 2x resolution you don't see this. You can play with StageQualty for solving this. But I'm suggest don't use any vector because improving vector quality you will receive more and more CPU overload. Or you if never will play your App on weak and old devices.
    Read first http://translate.google.com.ua/translate?hl=ru&sl=ru&tl=en&u=http://gamespoweredby.com/blo g/2013/12/recommendations-for-adobe-air-mobile-developers

  • Off stage content killing frame rates

    Hey,
    I'm working on an iPhone game using AS3 and I've got it working pretty well on the iPhone 3G.  I intend to compile it with AIR 2.7 (or 3.0 when it drops), but for testing purposes, I do everything on my 3G.  Here's the problem, I get a solid consistant 24fps until one of my objects moves offscreen - even partially.  If my "character" even goes a few pixels past the edge, frame rates drop tp 9-10 fps.  I've had a few people already suggest not allowing anything to move offscreen, but that's not feasible.  I've gone through my code to make sure there isn't a programmatic reason this happens, and I've created a seperate project specifically to test this - with no game logic, simply moving an image across the screen, frame rates bottom out once content goes over the screen edge.  I've tried using masks, I've tried using scrollRect, I'm using cacheAsBitmap, and there is no scaling, only x,y translation.  Any help or suggestions (except for telling me to switch to Obj-C, there has to be a better answer than that) would be greatly appreciated.

    hummm...  I know this shouldn't make a difference, but it might be worth trying:  create a bitmap that is the same size as the stage, and manually render your sprites to it via BitmapData.draw().  Actually, this should make things a bit slower, logically: but hey, Flash has its own logic sometimes..
    Tip to improve the fps: you can always render some or all your assets to a bitmapData that is half the size of the screen, but whose Bitmap container is inversely scaled by a factor of 2 (stage.quality shoud be set to StageQuality.MEDIUM to take advange of bilinear sampling in CPU mode -- In GPU mode, you'll get trilinear for free, I think).  Also, make sure your Bitmaps have smoothing set to true.  This will radicaly improve the fps, but make your assets a bit blurry.

  • Android L with Beta - AIR 15.0.0.289

    Hey,
    We are running into a problem with the Android L developer preview and beta AIR 15.0.0.289. It's an app for Android and iOS with multiple native extension for ads and offerwall.
    Problem
    After closing the native overlay displayed by an extension, our application rendering is bugged and displays artifacts. The problem occurs on Android L developer preview (razor-lpv79-preview-d0ddf8ce.tgz Nexus 7 Wifi "razor") with GPU render mode on.
    Is this a known issue? If so, how can we fix this and will all Android L users be affected?
    Flow
    Logcat
    W/UnimplementedWebViewApi( 4749): Unimplemented WebView method onKeyDown called from: android.webkit.WebView.onKeyDown WebView.java:2282)
    I/am_finish_activity(  623): [0,900058684,22,air.com.flaregames.wordon/com.tapjoy.TJCOffersWebView,app-request]
    I/am_pause_activity(  623): [0,900058684,air.com.flaregames.wordon/com.tapjoy.TJCOffersWebView]
    I/am_on_paused_called( 4749): [0,com.tapjoy.TJCOffersWebView]
    I/am_resume_activity(  623): [0,379306882,22,air.com.flaregames.wordon/.AppEntry]
    D/[CoreMobileEx]( 4749): Restart.
    D/[PushNotifyEx]( 4749): Restart.-
    D/[GVExtension]( 4749): Resume->activate publish
    D/[CoreMobileEx]( 4749): Resume.
    D/[PushNotifyEx]( 4749): Resume.
    D/[CoreMobileEx]( 4749): Canceled 1943748
    D/[CoreMobileEx]( 4749): Canceled 1943749
    I/am_create_service(  623): [0,413666469,.AdvertisingIdService,10007,2289]
    I/am_on_resume_called( 4749): [0,air.com.flaregames.wordon.AppEntry]
    W/art     ( 4749): Thread[25,tid=5915,Native,Thread*=0xb9d6f7f0,peer=0x785d40e0,"Thread-838"] attached without supplying a name
    D/audio_hw_primary(  193): select_devices: out_snd_device(2: speaker) in_snd_device(0: )
    D/ACDB-LOADER(  193): ACDB -> send_afe_cal
    I/art     ( 2289): Heap transition to ProcessStateJankPerceptible took 84.747314ms saved at least -314KB
    I/am_destroy_service(  623): [0,413666469,2289]
    E/ActivityThread( 4749): Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
    I/am_destroy_activity(  623): [0,900058684,22,air.com.flaregames.wordon/com.tapjoy.TJCOffersWebView,finish-imm]
    E/chromium( 4749): [ERROR:aw_contents.cc(814)] Unable to free GL resources. Has the Window leaked?
    W/Adreno-ES20( 4749): <core_glBindVertexArrayOES:288>: GL_INVALID_OPERATION
    I/sf_frame_dur(  190): [air.com.flaregames.wordon/com.tapjoy.TJCOffersWebView,100,3,2,0,1,0,1]
    W/Adreno-EGL( 4749): <qeglDrvAPI_eglCreateWindowSurface:1027>: EGL_BAD_ATTRIBUTE
    W/art     ( 4749): Thread[25,tid=5943,Native,Thread*=0xb9ea4940,peer=0x785d4140,"Thread-839"] attached without supplying a name
    W/art     ( 4749): Thread[27,tid=5942,Native,Thread*=0xb9ecce90,peer=0x785da0e0,"Thread-840"] attached without supplying a name
    W/Adreno-ES20( 4749): <core_glUseProgram:1526>: GL_INVALID_VALUE
    W/Adreno-ES20( 4749): <core_glUseProgram:1526>: GL_INVALID_VALUE
    W/Adreno-ES20( 4749): <core_glUseProgram:1526>: GL_INVALID_VALUE
    I/art     ( 2289): Heap transition to ProcessStateJankImperceptible took 60.241699ms saved at least 317KB
    D/WifiService(  623): acquireWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@1c090246}
    D/WifiService(  623): releaseWifiLockLocked: WifiLock{NlpWifiLock type=2 binder=android.os.BinderProxy@1c090246}
    I/wpa_supplicant( 2496): wlan0: CTRL-EVENT-SCAN-STARTED
    I/WifiHAL (  623): Found some events!!!
    I/WifiHAL (  623): Found some events!!!
    I/PowerUI.Notification( 1800): dismissing low battery warning: level=100
    I/PowerUI.Notification( 1800): dismissing low battery notification
    D/PowerUI.Notification( 1800): updateNotification mWarning=false mSaver=false mInvalidCharger=false
    I/notification_cancel(  623): [10019,1800,com.android.systemui,100,low_battery,0,0,64,8,NULL]
    I/wpa_supplicant( 2496): wlan0: CTRL-EVENT-SCAN-STARTED
    I/WifiHAL (  623): Found some events!!!
    I/WifiHAL (  623): Found some events!!!
    I/PowerManagerService(  623): Going to sleep due to screen timeout...
    I/power_sleep_requested(  623): 0
    I/PowerManagerService(  623): Sleeping...
    I/power_screen_broadcast_send(  623): 1
    I/power_screen_state(  623): [0,3,0,0]
    I/screen_toggled(  623): 0
    I/am_pause_activity(  623): [0,379306882,air.com.flaregames.wordon/.AppEntry]
    D/[CoreMobileEx]( 4749): Pause.
    D/[PushNotifyEx]( 4749): Pause.
    E/native  (  623): do suspend true
    The above happened in GPU and CPU render mode but below only happens GPU render mode.
    W/Adreno-ES20(13762): <core_glBindVertexArrayOES:288>: GL_INVALID_OPERATION
    I/sf_frame_dur(  190): [air.com.flaregames.wordon/com.tapjoy.TJCOffersWebView,101,3,2,0,1,0,0]
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/art     (13762): Thread[37,tid=14108,Native,Thread*=0xb9bcb640,peer=0x783e53e0,"Thread-901"] attached without supplying a name
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION
    W/Adreno-ES20(13762): <gl_draw_error_checks:580>: GL_INVALID_OPERATION

    I've settled on the following workaround, which fixes the problem consistently, albeit with a slight flicker sometimes:
    Check if you're on Android;
    Add an ENTER_FRAME listener to the stage in the activation handler (called when returning to the app from an overlay displayed by a native extension);
    Use a ticker to have 2 frames delay between the quality switch, anything quicker than that resulted in inconsistent or non-functional behavior for our app;
    Switch from StageQuality.LOW to StageQuality.HIGH and back again. Going to MEDIUM and back did *not* result in a fix.
    In my case, the code for the switch itself looks like this:
    private function OnActivate(event:Event):void
         if (Settings.IS_ANDROID)
              _Ticker = 0;
              stage.addEventListener(Event.ENTER_FRAME, OnEnterFrameFixGPUContextLoss);
    private function OnEnterFrameFixGPUContextLoss(event:Event):void
         _Ticker ++;
         if (stage.quality.toLowerCase() == StageQuality.LOW) // stage.quality returns string in capitals
              stage.quality = StageQuality.HIGH;
         else
              if (_Ticker > 2)
                   stage.quality = StageQuality.LOW;
                   stage.removeEventListener(Event.ENTER_FRAME, OnEnterFrameFixGPUContextLoss);

Maybe you are looking for

  • Time Machine backups still on drive, no longer in Time Machine

    I have two computers backed up to the same drive, and I cannot backup Mac#2 because the backups of Mac#1 are taking up too much space. On Mac#1, I went into Time Machine and used the Delete Backup option on several of the oldest backups. I ran into o

  • Sap script & Check no.

    Hi ALL      I am working on Check print using f110_prenum_chck. The problam is  that if the  invoice line item overflow to next page then the first page should be considered as first check and it should not get voided. the remaining pages, check shou

  • Solaris 10, Sun Ray Server Software

    Hi, I installed Solaris 10 on my x86 machine and managed to get it (eventually!) configured with a static IP etc. I then began the install of Sun Ray Server Software and the first part went well. I then performed a reboot as requested using sync;sync

  • Feed RSS, periodic errors on Safari

    I have many feed RSS in the Safari bookmark bar, uniforms for topic and ordered. They work very well and they have replaced for a long time searches readings and consultations. But periodically, approximately every two or three months, some of they a

  • Camera connector kit not working at all

    Hi I bought the camera connector kit and can't get it to work. I don't really use the camera to take photos or shoot videos. I bought the kit mainly to add storage to my brand new iPad (3). What I have tried to do so far, is: - create a DCIM folder o