[Golist] Major update! Version 0.5.0
Moses Gunesch
moses at goasap.org
Mon Jul 21 16:29:58 PDT 2008
Sadly, Go seems to have lost its edge on efficiency a little. It may
have been the previous update, where I added ILiveManager
functionality, or maybe it's been slipping just a little each version.
Well I've roped Jack Doyle (TweenLite, TweenMax) into the Go fold a
little – welcome to the list Jack! And wanted to put out the call to
anyone else who might want to help with a round of optimizations.
See for yourselves:
Benchmark results: Simple AS3 Tween
------------------
1000 Sprites :: Start Lag: 0 seconds :: FPS: 98 :: End lag: 0.01
2000 Sprites :: Start Lag: 0.01 seconds :: FPS: 95 :: End lag: 0.01
4000 Sprites :: Start Lag: 0.01 seconds :: FPS: 45 :: End lag: 0.02
8000 Sprites :: Start Lag: 0.04 seconds :: FPS: 15 :: End lag: 0.06
16000 Sprites :: Start Lag: 0.04 seconds :: FPS: 7 :: End lag: 0.07
Benchmark results: Go - WidthTween [GoASAP version 0.5.0]
------------------
1000 Sprites :: Start Lag: 0.05 seconds :: FPS: 57 :: End lag: 0.02
2000 Sprites :: Start Lag: 0.1 seconds :: FPS: 41 :: End lag: 0.04
4000 Sprites :: Start Lag: 0.13 seconds :: FPS: 20 :: End lag: 0.08
8000 Sprites :: Start Lag: 0.29 seconds :: FPS: 10 :: End lag: 0.16
16000 Sprites :: Start Lag: 0.62 seconds :: FPS: 5 :: End lag: 0.33
The early benchmarks at the website show that Go used to do 90 FPS at
1000 sprites, now we're down to under 60! How sad. But at least it
still performs strongly under the heaviest loads which is important.
Optimizers, unite...!
- m
On Jul 21, 2008, at 2:25 AM, Moses Gunesch wrote:
>
> Warning: this update might affect existing code, it's pretty
> significant.
>
> The IPlayable system has been overhauled and simplified in this
> version.
>
> This is a system-level change, and it's a shame to have it come
> after the Open Source Flash Development book has been published, but
> such is life.
>
>
> 1. The IPlayableBase interface has been removed from the GoASAP
> core. The state property was moved into the IPlayable interface, and
> the playableID property is now treated as an optional convention.
>
> 2. The play-state constants (PLAYING, etc.) have been moved into a
> new class called PlayStates.
>
> 3. The class PlayableBase is now treated as entirely optional
>
>
>
> As GoASAP has gotten more use it's become clear that PlayableBase
> was too primary -- often subclassing is not a good option unless
> you're working from scratch. Keeping the PlayStates constants in
> their own class loosens things up quite a bit and provides a lot
> more freedom.
>
> This update has a ripple effect, many of the example/test classes
> and utilities have been updated to use the new PlayStates. Also
> includes a small improvement in Sequence.skipTo() and some
> documentation updates. (click "frames")
>
>
>
> Feedback welcome, as always!!!
> :-)
>
> Moses
>
>
> [Special thanks to Tim Knip, Donovan Adams and Jack Doyle for their
> input on this rev!]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://goasap.org/pipermail/golist_goasap.org/attachments/20080721/01de4ae5/attachment.html
More information about the GoList
mailing list