0
votes

So I've got an Air app built in Flash CS 5.5 (NOT using Starling or Stage3D). In the .fla, the stage size is set to 1600x900.

I've found that the app has an unacceptable framerate when running windowed, but if I allow it to run fullscreen and specify a 1600x900 Rectangle region to use for stage.fullScreenSourceRect, the app runs like butter fullscreen. Really, the difference is night & day, which has me a little baffled.

So I guess my question is - what can I do to get the smooth results of fullscreen working for windowed mode?

My first thought was to try to cook up some scheme where I change the app resolution at runtime so that I can run the app in a lower resolution when windowed, but I'm not sure if that's possible with Flash (can't change stage.stageWidth at runtime I think)

Is there some trickery I should be doing with NativeWindow or something like that? Perhaps some Air config file? I'd say I know Flash reasonably well, but I don't know much about the Air side of things, so maybe I'm overlooking something obvious.

Any help or advice is appreciated!

Edit: by unacceptable framerate, I'm talking 9fps windowed compared to 35fps fullscreen. it's like you flip a switch and it just magically seems to be fixed when in fullscreen.

1
why did this question get a negative mark? bad question? it's a legitimate flash problem that I don't know the answer to... - robochase6000
I came up with a workaround for this. The idea is to publish your swf at different resolutions, then, in a "shell app/swf", load the proper swf for your resolution into its own NativeWindow instance. Then, set the bounds property of the NativeWindow instance to be match the resolution of the swf you just loaded. It seems a little clumsy, but it does what I want :) - robochase6000

1 Answers

0
votes

If you want to mimic the fullScreenSourceRect for the windowed mode you could just write a line like:

stage.scrollRect = new Rectangle(x, y, width, height);

That would help performance by not rendering anything outside the provided area;