Starling has its own EventDispatcher because the flash.events one doesn't have a robust enough API to support bubbling up a custom display list. We even tried implementing a custom IEventDispatcher in ActionScript, but there were serious roadblocks getting weak references to work properly. It was pretty frustrating.
Event pooling didn't always exist in Starling. It was added long after the custom EventDispatcher was originally created. Garbage collection on mobile has a much heavier impact on performance than on desktop. Pooling reduced GC slow downs significantly. - Josh On Tue, May 19, 2015 at 5:41 AM, Michael Schmalle <teotigraphix...@gmail.com > wrote: > So are you saying Starling traded a bit of performance in event dispatching > to get object pools? Or was is that they needed to implement bubbling of > their own display list, so they sacrificed performance. > > Mike > > On Tue, May 19, 2015 at 8:32 AM, Kessler CTR Mark J < > mark.kessler....@usmc.mil> wrote: > > > Just a side bar on this. I believe a concern about using the > > eventdispatcher like the one in starling was that it was slower than one > we > > use from flash.events. It had to do with the fact the player was > managing > > the events vs using an actionscript driven one. Bumped into that when I > > explored managing the lists of the active events and I even made single > > serving events that would remove themselves after one call. > > > > > > -Mark > > > > > > -----Original Message----- > > From: Michael Schmalle [mailto:teotigraphix...@gmail.com] > > Sent: Tuesday, May 19, 2015 6:30 AM > > To: dev@flex.apache.org > > Subject: Re: [FlexJS] Event names > > > > NOTE: I forgot to say that in the EventManager in the component framework > > can do it; > > > > > > > https://github.com/Gamua/Starling-Framework/blob/master/starling/src/starling/events/EventDispatcher.as > > > > See the method invokeEvent(), line 140. In a way, this makes the need > for a > > subclassed Event obsolete, the data IS the payload which can be a > primitive > > value or vo/struct class. > > > > The client knows what it needs. > > > > Mike > > >