Hello :)

Yes.. for me it's the for..in in the dispatchQueue method...

EKA+ :)

2007/3/21, John Hauf <[EMAIL PROTECTED]>:

Hello list,

when i look at the test results i can see, that the strange speed
problem is really mac specific.
Is there any chance to patch the EventDispatcher class to get rid of
this bottleneck? Does anybody already know which function causes the
problem?

John

Francis Bourre wrote:
> Hello list !
>
> I noticed something weird about EventDispatcher execution speed in my
> mac player.
> EventDispatcher.dispatchEvent execution is slow compared to a custom
> dispatcher implementation (named EventBroadcaster).
>
> On Mac, EventDispatcher is slow:
> EventBroadcaster: 2925
> EventDispatcher: 12438
>
> On Pc, EventDispatcher is faster.
> EventBroadcaster: 3908
> EventDispatcher: 3407
>
> Can you please report the values you got (displayed on screen) when you
> open the url below and the browser you used for testing.
> It takes few seconds to initialize (bench with iterations)
>
> http://www.tweenpix.net/TestEventBroadcaster.swf
>
> Any clue is welcome. ;)
> Thanks in advance guys !
>
> francis
>
>
>
> Content of the test:
>
> var tf1 : TextField = new TextField();
> var tf2 : TextField = new TextField();
> var tf3 : TextField = new TextField();
> tf2.y += 30;
> tf3.y += 60;
> tf1.width = tf2.width = tf3.width = 150;
> this.addChild( tf1 );
> this.addChild( tf2 );
> this.addChild( tf3 );
>
> var holder : Array = new Array();
> var l1 : Number = 10000;
> var l2 : Number = 10000;
> var lNum : Number = 500;
>
> var eb : EventBroadcaster = new EventBroadcaster ( this );
> var ed : EventDispatcher = new EventDispatcher ();
>
> while( --lNum -(-1) )
> {
>     var tg : Object = {foo:function( e : Event ):void{ this.e = e.type;
}};
>     ed.addEventListener( "foo", tg.foo );
>     eb.addEventListener( "foo", tg );
>     holder.push( tg );
> }
>
> var t : Number = 0;
> var e : Event = new Event( "foo" );
>
> //
> t = getTimer();
> while( --l2 -(-1)) eb.broadcastEvent( e );
> t = getTimer() - t;
> trace( "EventBroadcaster: ", t );
> tf1.text = "EventBroadcaster: " + t;
> //
> t = getTimer();
> while( --l1 -(-1)) ed.dispatchEvent( e );
> t = getTimer() - t;
> trace( "EventDispatcher: ", t );
> tf2.text = "EventDispatcher: " + t;
>
> tf3.text = flash.system.Capabilities.version;
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> osflash mailing list
> osflash@osflash.org
> http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
osflash@osflash.org
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
osflash@osflash.org
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to