10/24/2011

Starling Framework Performance Test

Ein kleiner Performancetest mit dem neuen Starling Framework. Als Basis für den Test hab ich eine Illustration von Lana Del Rey genommen und die einzelnen Bereiche des Bildes in MovieClips unterteilt. Insgesamt besteht das Bild aus 1068 MovieClips. Das war eine Plackerei! Gezeichnet habe ich das Bild komplett in Flash nach einer Fotovorlage, wobei ich sagen muss das Flash CS5 viel zu oft abstürzt. Macht echt wenig Spaß aktuell, ich hoffe das wird mit CS5.5 und den darauffolgenden Versionen wieder deutlich besser. Mit meinem aktuellen Wissensstand was Starling betrifft, gab es für mich dann nur die folgende Lösung meinen Test weiter fortzuführen. In einer Schleife lese ich alle 1068 MovieClips (flash.display.MovieClip) aus und zeichne diese jeweils in bitmapData‘s (flash.display.BitmapData) rein um dann per „Texture.fromBitmapData“ die entsprechenden Texturen für die Starling Images zu erzeugen. Danach kommen nur noch ein bisschen Mathe und TweenLite zum Einsatz um die Einzelteile zu bewegen.
Die Performance spricht für sich. In anderen Tests hab ich sogar mehrere tausend Objekte bewegen können. Bleibt noch zu hoffen das Stage3D und somit auch Starling bald für mobile Anwendungen verfügbar sind. Kann es kaum abwarten solche Ergebnisse auf einem iPad oder anderen Geräten zu sehen.
Zum starten einfach aufs Bild klicken:


(Um die Demo zu starten einfach auf das Bild klicken. Flash Player 11 required.)

10/11/2011

Starling Framework with FlashDevelop

Endlich gibt’s den Flash Player 11 und mit ihm die neue Stage3D API. Stage 3D, vorher unter dem Codenamen „Molehill“ bekannt, spricht die Grafik-Hardware z.B. unter Windows über DirectX an. Unter Mac OS X und Linux geschieht das über OpenGL. Bei mobilen Endgeräten soll das über OpenGL ES laufen, was aber aktuell noch nicht funktioniert. Abgesehen von Mobilgeräten ist Stage 3D damit mit allen gängigen Grafikkarten kompatibel und mit dem neuen Flash Player 11 Plugin quasi für jeden Browser sofort verfügbar. Stage 3D beschleunigt neben 3D- auch 2D-Inhalte und bringt Flash insgesamt auf ein extrem hohes Leistungsniveau.

Hier ein schönes Beispiel. Unreal Tournament 3 im Browser dank Stage3D!



Für die Entwicklung von Spielen ist die Performance optimal, auch und besonders bei 2D Spielen können bisher ungeahnte Ergebnisse erziehlt werden. Und genau hier tritt jetzt das Starling Framework auf den Plan. Das Framework erleichtert den Umgang mit Stage 3D und erlaubt es Flash Entwicklern mit den von ihnen bekannten Mitteln 2D-Inhalte GPU beschleunigt zu erstellen. Mit nur ein paar Kniffen ist es möglich über die bekannte „Display List“-Architektur, die Starling quasi nachbildet, Sprites, MovieClips und Images auf der Stage, bzw. in diesem Fall dann Stage3D zu adden.
Hier gibts ein paar Starling Demos. Hier ganz offiziell und hier noch mehr.

An dieser Stelle nun eine kleine Erklärung was man mit FlashDevelop anstellen muss, damit man mit dem Starling Framework arbeiten kann.


Zunächst einmal braucht es natürlich die neueste FlashDevelop Version. Aktuell ist das „FlashDevelop 4.0.0 RC1“. Bitte unbedingt dort den Installationshinweisen folgen. Dort wird unter anderem empfohlen, ältere Versionen von FlashDevelop vor der Installation zu desinstallieren.

Bei der Installation zieht sich FlashDevelop auf Wunsch automatisch das neueste Flex SDK. Geschieht das nicht, oder es kam dabei zu einem Fehler braucht es die Flex SDK natürlich trotzdem. Auf jedenfall sollte es die neueste Version sein. Aktuell ist Version: „4.5.1.21328“!

Nachdem jetzt FlashDevelop und die Flex SDK heruntergeladen und installiert worden sind braucht es noch den neuen Flash Player 11 als Projektor. Einfach unten auf der Seite je nach Betriebssystem auswählen. Als Windows Benutzer hab ich mich für den „Download the Windows Flash Player 11.0 Projector content debugger (EXE, 8.91MB)“ entschieden.

Jetzt geht’s an die Einstellungen. Einfach ein neues FlashDevelop AS3 Projekt starten.


Dort dann unter „Project“ und dann „Properties“ die Karteikarte „Output“ auswählen. Dann bei „Platform“ „Flash Player“ auswählen und als Version dahinter „11.0“ nehmen. Bei „Test Project“ dann noch „Play: External Player“ auswählen und danach dann zur Karteikarte „Compiler Options“ wechseln.



Dort die „Additional Compiler Options“ anklicken. Rechts in der Zeile erscheint ein kleiner Button. Diesen anklicken und in dem sich öffnenden Fenster folgende Zeile eintragen und anschließend mit „OK“ bestätigen.


-swf-version=13



Ist in dem Fenster bereits etwas eingetragen einfach eine neue Zeile machen und dort dann rein damit.

Das waren die Einstellungen bei den Properties. Einfach mit „OK“ bestätigen und weiter geht’s.
Jetzt unter „Tools“ und dann „Programm Settings…“ links „AS3Context“ anklicken. Nur falls FlashDevelop nicht zu Begin schon wie beschrieben die Flex SDK mit installiert hat, muss an dieser Stelle der Pfad eingetragen werden, zu dem Ordner wohin die Flex SDK heruntergeladen und ggf. entpackt worden ist. Dazu im rechten Bereich auf die Zeile „Installed Flex SDKs“ klicken und rechts auf den kleinen Button der nun erschienen ist.

Hier muss auf „Hinzufügen“ geklickt werden. Oben dann auf „New SDK“ klicken und rechts dann unter „Location“ den Pfad zur Flex SDK eingeben. Ist der Pfad korrekt erscheinen bei den Properties darunter Name und Version. Das Ganze mit „OK“ bestätigen.




Jetzt noch im „Settings“ Fenster links, ein gutes Stück unter „AS3Context“ den Punkt „FlashViewer“ auswählen. Rechts dann unter „External Player Path“ den Pfad zu der „FlashPlayer11.exe“ eintragen.



Das wars. Jetzt ist FlashDevelop in der Lage für den Flash Player 11 zu veröffentlichen. Die ganze Stage3D Power steht dem Entwickler zur Verfügung und das Starling Framework kann eingesetzt werden.
Hier ist der Download Link und hier gibts das ultimative PDF zum lernen.