English 中文(简体)
简单 闪电测试应用速度非常慢,与完全相同的处理手册相比。
原标题:Simple Flash test application runs very slowly compared to exact same Processing applet

因此,我逐渐痛苦地从加工到闪电,希望能向更多的受众发展游戏。 很久以来,我在闪电中得到了一份工作申请,这只是让用户点击,制造随后向摩擦.块。 我也做了同样的处理,只是比较速度。 然而,当我管理闪电版本并增加大约15-20个区块时,基底降至5-10个。 在处理版本中,我可以增加约60个,没有明显放缓。 交易是什么?

3. 与每种版本的来源的联系:

http://ge.tt/6vrRdBe”rel=“nofollow” 闪电版本

http://ge.tt/4TwQdBg”rel=“nofollow”> 处理版本

这里是每个人的源泉,如果你是荒唐的,那么,他们就能够通过在法典中lower击来提供帮助,并告诉他们:

闪电版本:

段 次 页 次

import flash.events.Event;
import flash.display.MovieClip;

stage.addEventListener( Event.ENTER_FRAME, onenter );
stage.addEventListener( MouseEvent.MOUSE_DOWN, onclick );

var main = this;

var lastFrame:Number;

var Blocks:Array = new Array();

function onenter( e:Event ):void
{
    var time:Number = getTimer();
    for( var i = 0; i < Blocks.length; i++ )
    {
        Blocks[ i ].run();
    }
    FrameRate.text = String( Blocks.length ) + "
" + String( 1000 / ( time - lastFrame ) );
    lastFrame = time;
}

function onclick( e:MouseEvent ):void
{
    var block1 = new Block( Blocks, main, mouseX, mouseY );
}

路障。

package  {

    import flash.display.MovieClip;
    import flash.geom.Vector3D;

    public class Block extends MovieClip {

        var velocity:Vector3D = new Vector3D( 0, 0 );
        var position:Vector3D = new Vector3D( x, y );
        var acceleration:Vector3D = new Vector3D( 0, 0 );

        public function Block( Blocks:Array, This, x:Number, y:Number ) {
            Blocks.push( this );
            This.addChild( this );
            position.x = x;
            position.y = y;
        }

        public function run()
        {
            x = position.x;
            y = position.y;
            //position.incrementBy( velocity );
            position.x += velocity.x;
            position.y += velocity.y;
            acceleration.x = stage.mouseX - position.x;
            acceleration.y = stage.mouseY - position.y;
            acceleration.normalize();
            //velocity.incrementBy( acceleration );
            velocity.x += acceleration.x;
            velocity.y += acceleration.y;
            velocity.x *= 0.95;
            velocity.y *= 0.95;
            this.graphics.beginFill( 0 );
            this.graphics.moveTo( -10, -10 );
            this.graphics.lineTo( 10, -10 );
            this.graphics.lineTo( 10, 10 );
            this.graphics.lineTo( -10, 10 );
            this.graphics.lineTo( -10, -10 );
            this.graphics.endFill();
        }

    }

}

处理版本:

sketch_mar02b.pde

Block[] blocks = new Block[ 0 ];

void setup()
{
  frameRate( 60 );
  size( 550, 400 );
  textFont( createFont( "Verdana", 20 ) );
}

void draw()
{
  background( 255 );
  for( int i = 0; i < blocks.length; i++ )
  {
    blocks[ i ].run();
  }
  text( blocks.length + "
" + frameRate, 0, 20 );
}

void mousePressed()
{
  new Block( mouseX, mouseY );
}

页: 1

class Block
{
  PVector position = new PVector( 0, 0 );
  PVector velocity = new PVector( 0, 0 );
  PVector acceleration = new PVector( 0, 0 );
  Block( float x, float y )
  {
    position.set( x, y, 0 );
    blocks = ( Block[] ) append( blocks, this );
  }
  void run()
  {
    position.add( velocity );
    acceleration.set( mouseX - position.x, mouseY - position.y, 0 );
    acceleration.normalize();
    velocity.add( acceleration );
    velocity.mult( 0.95 );
    pushMatrix();
    translate( position.x, position.y );
    fill( 0 );
    rect( -10, -10, 20, 20 );
    popMatrix();
  }
}

感谢帮助!

最佳回答

一个问题是,在每一次分娩时,你都重新绘制了眼镜片,但 sp在任何时候都没有变化。 因此,在建筑商中只提一番是不够的。

但是,如果你DO出于某种原因必须重新制定每个框架? 可否随时间改变盒子的颜色? 你们再次忽视了你的旧形象......这样,你就在图象标上添加了越来越多的病媒。 因此,在现实中,当你看着只有一个黑广场时,你实际上只有数千平方米的黑广场在几秒之后有价值数据。 你们可以清楚地看到这样的图象。

this.graphics.clear();

作为一种微量优化,你可以分配。 A. 对当地变量的图表......

var g:Graphics = this.graphics
g.moveTo(0); // and so on...

我注意到的另一点是,你似乎没有时间流动,而是根据框架。 这些区块本身不知道有多长时间,因此速度放慢。 另一种选择是将其流动建立在已经过去的时间基础上,这样他们就能够按照正确的“观察”行事,但评估者会放弃这样做的框架。

由于这是你重新处理的一个盒子,你也可以使用图象,而不是按行打一个盒子。

在我自己的测试中,方案1发挥了最佳作用。 如果你确实需要重整,确保做图象,因为即使有大批箱子也几乎能够奏效。

增加......

你的榜样是,在增加“......”职能要求之后,的确表现得很好。 然而,我应该告诫大家,科索沃竞争主管机构的业绩肯定会比闪电的参与者好。 这只字不提人们可以提出高性能的闪电申请,但闪电器在处理万国邮联时的表现上限远远低于 Java。 当然,如果你愿意在流血边缘生活,你就可以检查能够做像这样的事情的新的“Molehill” 3D一皮。

3D游戏,讨论Wi利用湿法先令向闪电,操作时间为60fps http://blog.theflashblog.com/?p=2593

问题回答

暂无回答




相关问题
What to look for in performance analyzer in VS 2008

What to look for in performance analyzer in VS 2008 I am using VS Team system and got the performance wizard and reports going. What benchmarks/process do I use? There is a lot of stuff in the ...

SQL Table Size And Query Performance

We have a number of items coming in from a web service; each item containing an unknown number of properties. We are storing them in a database with the following Schema. Items - ItemID - ...

How to speed up Visual Studio 2008? Add more resources?

I m using Visual Studio 2008 (with the latest service pack) I also have ReSharper 4.5 installed. ReSharper Code analysis/ scan is turned off. OS: Windows 7 Enterprise Edition It takes me a long time ...

Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

热门标签