[ascoders] Re: addListener ruft auch removeListener auf
- From: "Holger Kohnen" <h_kohnen@xxxxxx>
- To: <ascoders@xxxxxxxxxxxxx>
- Date: Sat, 19 Apr 2003 13:34:11 +0200
Hier das tolle Kaefer-Beispiel für den Bug:
<code>
Welt = function (pIntKaefer) {
ASBroadcaster.initialize(this);
while (pIntKaefer--)
new Kaefer(this, pIntKaefer);
}
Welt.prototype.amageddon = function () {
this.broadcastMessage('onAmageddon');
}
Kaefer = function (pObjWelt, pIntId) {
this.intId = pIntId;
this.objWelt = pObjWelt;
this.objWelt.addListener(this);
}
Kaefer.prototype.onAmageddon = function () {
trace(this.intId + ' hat das zeitliche gesegnet');
this.objWelt.removeListener(this);
}
objWelt = new Welt(10);
objWelt.amageddon();
/*
Ausgabe:
9 hat das zeitliche gesegnet
7 hat das zeitliche gesegnet
5 hat das zeitliche gesegnet
3 hat das zeitliche gesegnet
1 hat das zeitliche gesegnet
*/
</code>
> > Da der ASBroadcaster sowieso in AS implementiert ist, macht das
> > performancetechnich keinen Unterschied.
>
> Einspruch :o)
>
> Probiere mal diesen Test hier:
>
> ---
> EventEng = {};
> ASBroadcaster.initialize ( EventEng );
> EventEng.onRender = function () { this.broadcastMessage ( "render" );};
>
> // erzeuge eine Hand voll Objekte//
> var objs = [];
> for ( var i = 0 ; i < 500 ; i++ ) {
> var obj = objs[i] = {};
> obj.render = function () {
> abc += Math.sqrt ( a += 8 ); // irgentwas eben
> }
> EventEng.addListener ( obj );
> }
>
>
> ms = getTimer ();
> EventEng.onRender (); // 29 ms
> /*for ( var o in objs ) { // 49 ms
> objs[o].render();
> }
> */
> trace ( getTimer() - ms );
> ---
>
> Der AsBroadcaster führt die Methoden
> bei allen Objekten wesentlich schneller aus.
>
>
> aM
> http://www.andre-michelle.com
>
>
> ------------------------------------------------------
> Archiv : http://www.freelists.org/archives/ascoders/
> Optionen : http://www.freelists.org/list/ascoders
> ------------------------------------------------------
>
>
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] ASBroadcaster remove bug
- From: Andre Michelle
- References:
- [ascoders] Event Management
- From: Andre Michelle
- [ascoders] Re: Event Management
- From: Holger Kohnen
- [ascoders] Re: Event Management
- From: Andre Michelle
- [ascoders] Re: Event Management
- From: bokel
- [ascoders] addListener ruft auch removeListener auf
- From: Andre Michelle
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Holger Kohnen
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Andre Michelle
- [ascoders] Re: addListener ruft auch removeListener auf
- From: bokel
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Andre Michelle
Other related posts:
- » [ascoders] addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- » [ascoders] Re: addListener ruft auch removeListener auf
- [ascoders] ASBroadcaster remove bug
- From: Andre Michelle
- [ascoders] Event Management
- From: Andre Michelle
- [ascoders] Re: Event Management
- From: Holger Kohnen
- [ascoders] Re: Event Management
- From: Andre Michelle
- [ascoders] Re: Event Management
- From: bokel
- [ascoders] addListener ruft auch removeListener auf
- From: Andre Michelle
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Holger Kohnen
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Andre Michelle
- [ascoders] Re: addListener ruft auch removeListener auf
- From: bokel
- [ascoders] Re: addListener ruft auch removeListener auf
- From: Andre Michelle