【问题标题】:What make scaled stage cost so much?是什么让规模化的舞台成本如此之高?
【发布时间】:2013-06-25 12:47:27
【问题描述】:

在网页上设置flash对象的大小为100%,舞台比例为show_all

stage.scaleMode = StageScaleMode.SHOW_ALL;

在浏览器上加载页面,改变浏览器窗口大小,所以flash大小也会改变

给出一个示例程序,让它重绘整个舞台区域的每一帧。 在一些低规格的电脑上,运行这个闪存会消耗 90% 或更高的 cpu 资源

package
{
    import flash.display.BlendMode;
    import flash.display.GradientType;
    import flash.display.Graphics;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.geom.Matrix;

    [SWF(width="1200", height="600", frameRate="24")]
    public class Test5 extends Sprite
    {
        public function Test5()
        {

            var g:Graphics = this.graphics;
            g.beginFill(0x4000);
            g.drawRect(0,0,1200,600);
            g.endFill();
            var sp:Sprite = new Sprite();
            sp.alpha = 0.5;
            sp.blendMode = BlendMode.LAYER;
            sp.cacheAsBitmap = false;
            this.addChild(sp);
            g = sp.graphics;
            var matrix:Matrix = new Matrix();
            matrix.createGradientBox(1200,600,0,0,0);
            var count:int = 0;
            this.addEventListener(Event.ENTER_FRAME,function(e:Event):void{
                g.clear();
                g.beginGradientFill(GradientType.RADIAL,[0xff,0],[1,0.3],[count++%256,255],matrix);
                g.drawRect(0,0,1200,600);
            });
        }
    }
}

如果缩小窗口大小,成本会大幅下降。如果将其放大到 1920x1080,则 fps 会下降。

位图也发生了同样的事情,例如将舞台大小的云图片从一侧移动到另一侧。

我的问题是为什么视图大小要花这么多钱?因为舞台宽度和舞台高度没有改变,所以我想 Flash 播放器只缩放最终结果和 bitblt。但也许我错了,谁能为我解释一下?

【问题讨论】:

    标签: performance actionscript-3 flash


    【解决方案1】:

    如果放大窗口,它必须渲染更多?

    渲染图形可能是 Flash 所做的最占用处理器资源的事情,因此增加它需要在屏幕上绘制的内容量会损害性能。

    【讨论】:

    • 但是内容是一样的,对吧?如果玩家总是画原始尺寸并缩放它,我认为成本不会有太大差异
    • @user2003548 您误解了渲染的工作原理。只是为了简单起见,如果它更大那么有更多要绘制。它可能是同一个对象,但选择屏幕上哪些像素需要重新着色的过程是个问题。
    • 好吧,有一天我可能会写一个类似的应用程序,也许我会理解这背后的渲染机制。
    猜你喜欢
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 2018-03-22
    • 2010-09-29
    相关资源
    最近更新 更多