Ich wollte mir ein Photo Manager/Backup AIR Programmieren was ganz simpel Bilder in einer Datenbank speichert… Sonst eigentlich nichts vielleicht noch einbisschen Retuschierung via Pixel Bender [Link] und so… Das was ich wollte war ganz Simpel 1 x Thumbnail zum visualisieren eines Bildes in einem Overview, 1 x Editable Image was ich jederzeit verändern kann und auch darraus verschiedene Bilder generieren lassen kann und 1x RAW/Original File… Alles so aufzubauen das er 1:N File via. Drag and Drop in meine App lädt war kein Problem… Das nächste Problem war aber wie erstelle ich jetzt die anderen beiden Files habe mir gedacht der JPEGEncoder von Flash kann das… Das zu implementieren war kein Problem… Aber die bearbeitung von dem JPEGEncoder war soooo langsam das ich mir gedacht habe wie mache ich das denn wenn ich meine 19GB Bilder damit verwalten will das wird nicht funktionieren… Also muß da was schnelleres und besseres her…

badworkflow

Da fand ich auf Adobe Labs Alchemy [Link], und siehe da WOW C/C++ Code in Flash na super das muß ja rennen wie nichts gutes… Laut den Benchmarks soll es wesentlich schneller sein [Link1] [Link2]

betterworkflow

Habe es dann mal implementiert und siehe da es IST wesentlich schneller… Da ich sowieso schon bei Finetuning bin habe ich mir gleich gedacht dann machst du das mal RICHTIG, WIE bekomm ich meine AIR NOCH schneller??? Man gut es sowas wie Tour De Flex gibt :) da fand ich dann diese beschreibung [Link] zum REDUZIEREN der CPU auslastung… Das war perfekt für meine App ich muß es nur umgekehrt machen anstatt meine FPS zu reduzieren habe ich diese einfach auf 100 Gesetzt und siehe da schneller geht es gar :D … Doch nicht vergessen eure FPS wieder runterzu schrauben… Wo hohe Rechenleistung gebraucht wird einfach [Flex: stage.framerate = 100] setzen und da wo es nicht mehr gebraucht wird wieder auf [Flex: stage.framerate = 33] setzen…

Oder via mxml:

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/halo"

frameRate="80"

xmlns:fc="http://www.adobe.com/2006/fc"

creationComplete="windowedapplication1_creationCompleteHandler(event)">

protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void

{

trace('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

trace('Init Applications');

trace('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');

}

</s:WindowedApplication>

Die erhöhung der FPS gab meiner Applikation einen Nitro schub :) … Klappt wunderbar und bisher ist mir meine App noch nicht angestürzt :) … Die FPS erhöhung klappt NUR SOLANGE wenn man keine Animation hat ansonsten würde die Annimation viel zu schnell ablaufen…

Sourcecode folgt…