Reviving and old thread - but I had the *exact* same issue and have overcome it!
TL;DR
You only need to change the Proxy Width/Height, like so:
Stage3DManager.getInstance( this.stage ).getStage3DProxy( 0 ).width = this.stage.fullScreenWidth;
Stage3DManager.getInstance( this.stage ).getStage3DProxy( 0 ).height = this.stage.fullScreenHeight;
——-
I battled with this for some time.
First, I tried messing with the View3D values, much like everyone else.
I’ve delved into the RendererBase, and in there, you have TextureRatioX/Y, but (and the clue’s in the name!) this had no effect on render to screen… so obviously works on render to texture.
A little more digging, and I found the “Scissor Rectangle” that’s in Context3D.
I exposed this in the View3D… still no effect. Even making it smaller seemed to do little/nothing.
A little more reading and there was a post about Starling/Away3D interop, which talked about problems with a shared context, back buffer and view size not being updated.
<light bulb!>
Finally I hit up the Stage3DManager & Proxy classes, which talk about their width/height values changing the Stage3D values for the size to render to. A quick change and it worked!
OK, so my first thought was “Has this changed the back buffer?” It shouldn’t, so the View3D should still be what I’ve set the SWF size, right? Trace out the View3D’s width and height values - still my smaller size!
Woo!
What I’ve used is:
[SWF( frameRate="30", width="1280", height="720" )]
public class YourClassName extends Sprite
{
...
<instantiate some view...>
Stage3DManager.getInstance( this.stage ).getStage3DProxy( 0 ).width = this.stage.fullScreenWidth;
Stage3DManager.getInstance( this.stage ).getStage3DProxy( 0 ).height = this.stage.fullScreenHeight;
trace( "View Width: " + this.view.width + ", Height: " + this.view.height );
And that’s it :-D
Hope it helps!