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.

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

    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".

  • 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 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

  • Sound Quality Limitation?

    I am upgrading my sound system and Home Theater and want to use higher quality music files for some applications.
    I just bought the Beatles USB compilation which provides a lossless 24 bit FLAC version, for example. I converted the files to Apple lossless using Max 0.9.1 (which works well), imported the files into iTunes, synch with ATV et voilà!
    I wish to know if ATV has inherent quality limitations which would limit the playback quality of lossless files. I honestly can't hear any difference with The Beatles (then again the sampling is 44.1khz only), but I would like to know this before purchasing higher quality files for classical music.
    I have at least 3 options:
    -Import the higher quality files in iTunes after converting if necessary and sync with ATV. The easiest most convenient solution by far;
    -Play the files directly from the receiver using DNLA compliant server software like Townky. Not very convenient or aesthetic but it works
    -Purchase a dedicated media server like Logitech Transporter. The quality has been tested by pros, but this option is expensive, and this means yet another media library to maintain.
    Any advice?

    The figures I'm referring to are what gets output on decoding the Apple lossless file via AppleTV vs iTunes.
    Your FLAC files are 24 bit depth I assume with frequency higher than 44.1kHz.
    You can encode to Apple lossless with the same parameters, however, when AppleTV plays the files back it seems to downsample to 16 bit for output via optical (and I assume to HDMI and to the D to A converter for analogue out).
    There was a long discussion about this sort of thing. I'll post if I can remember the link.
    In essence your Mac will be able to output I think up to 24bit 96kHz audio over optical, AppleTV won't with the saem files limited to 16 bit 44.1kHz.

  • Sound quality limited by Mac

    Guys,
    bought myself a nice stereo, and the outboard DAC shows that all the music being sent by itunes is playing 16/44 despite the fact that in reality files are of different quality - up to 24/192. What's wrong?

    Guys,
    bought myself a nice stereo, and the outboard DAC shows that all the music being sent by itunes is playing 16/44 despite the fact that in reality files are of different quality - up to 24/192. What's wrong?

  • 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...

  • Definitive Highest Quality Export!

    Hi.
    Please spell everything out for me, because while I've read responses to similar questions, I don't understand all the steps.
    Here's the situation:
    • I've imported video from miniDV
    • I've edited it in iMovie '08
    • I'd like to export my edited movie in as high quality as possible. Doesn't have to be a standard consumer format, just highest possible quality.
    So... questions!
    1) Using iMovie '08 and nothing else, is it possible to export a lossless version of my movie, and if so, how? (I'd really like to be able to do this - don't mind saving to a hard drive!)
    2) If it isn't possible to export a lossless version using iMovie '08, what is the best quality export possible using '08 and how do I achieve this?
    3) If I am only able to export a lossless version using iMovie '06, may I work in iMovie '08, open up my finished movie in iMovie '06, and generate the lossless export? If so, how do I do that?
    Many thanks in advance.

    3) video/codec settings, wouldn't "none" be a better choice for best quality than any compression?Sure it would. However, Matt, and with no disrespect intended, I suspect you have neither actually tested this mode nor computed the storage requirements. If you will, let me play "devil's Advocate" here... An uncompressed VGA SD video with, say AIFF audio, requires about 300 mbps or abour 37.5 MBs of storage space per second. (And HD requires about 6.5-7.0 times as much.) This comes to a bit more than 2 GB/min for SD (about 13.8-14.0 GB/min for HD) which is about 124 GB/hr for SD (or 833 GB/hr for HD). I normally use 6-10 hours of source material to create a 90-120 project. This means i would typically need to store something on the order of 0.75-1.25 TBs of source files for an SD project (or something on the order of 5-8 TBs of source files for an HD project). As you can see, most iMovie '08 users would simply not be prepared to handle such an undertaking as "start to finish" native editing format and would not likely have room for more than one project at a time even if they did. However, I suspect you may be asking from the standpoint exporting your finished project here, and would have to admit that this may be a viable solution if your project is reasonably short, you have sufficient storage space, and you actually see a difference in the output quality and it is worth exporting your project at a file size/data rate 8-10 times greater than your source files.
    And if compression were chosen, to confirm, you would choose Apple intermediate rather than H.264 for better quality?
    It would be my middleground choice. DV would have a higher video data rate (about 28.5 mbps) and H.264 with an unlimited video data rate less (on the order of 16.0-18.0 mbps) while AIC is typically in 20.0-22.0 mbps range for the VGA SD material I normally use. If I had my rathers, I'd pick a quality limited Animation codec as I prefer the way it renders blacks, its saturation, and encoding speed. Unfortunately, while iMovie '08 can import and edit this codec, it cannot export it to other compression formats. In addition, if I set the quality value too high, coding to Animation tends to "choke" my older system when the data rate exceeds the 280-285 mbps range which is almost the same as using "Uncompressed." So, I usually stick with the AIC codec which was specifically designed as an "intermediate" codec in the first place.
    Also to confirm, you find "Movie to Quicktime Movie" provides better quality than "Movie to DV Stream"?
    Let's say the "Export Using QuickTime..." has the potential to export with better quality. It all depends on the codec and settings used. Also, do you prefer to export with square pixels or rectangular ones, do you like to sharpen your content as part of the export, do you age your export, add hairs, scratches, or dust, use "B" frames, etc? I do and so I usually use the extra codec, settings, and/or options/features available via this route. Besides, to some extent, quality is mostly in the eye of the behoder and I have to admit that I may not be as "picky" as other users. (I still even watch some old 320x240 ecodings on my HDTV.)

  • 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.

Maybe you are looking for