Verktyg för att köra C++ i Flashspelaren
Använd befintliga kodbibliotek för C++ i Flashspelaren.
Det finns en uppsjö av kodbibliotek i C++ som skulle vara användbara även i Flash. Det kan handla om codecs, krypteringsalgoritmer och liknande. Adobe insåg tidigt möjligheterna och började experimentera med att göra det möjligt att kompilera C++ kod för att köras i Flashspelaren. Verktygen som gör detta möjligt finns nu tillgängliga.
I inlägget Kör C och C++ kod direkt i Flashspelaren skrev jag om Adobes utvecklingsprojekt FlaCC, som syftade till att göra det möjligt att kompilera befintlig C och C++ kod för att kunna köras i Flashspelaren. Adobe har nu lagt upp verktygen för nedladdning på Adobe Labs, fritt för alla att prova. FlaCC har även fått ett nytt namn och kallas numera för Alchemy.
Med Alchemy kan man kompilera C och C++ kod som sedan kan köras direkt i Flashspelaren. C-koden kompileras till Actionscript 3 som i sin tur kompileras till ABC (Actionscript Byte Code) som Flashspelaren kan hantera. På vägen görs några trick, bland annat för att lösa problemet med att C-kod är synkron och Actionscript kod är asynkron.
Alchemy lämpar sig bäst för kod som gör intensiva beräkningar. Det är först då man kan se prestandavinster jämfört med vanlig Actionscript kod. C++ kod som kräver mycket kommunikation mellan Actionscriptkod och Alchemykod går långsammare. Det gör att Alchemy i första hand lämpar sig för krypteringsalgoritmer, codecs och liknande.
Redan nu finns exempel kompilerade med Alchemy upplagda på nätet, där Doom nog är den som får anses vara mest visuellt imponerande. Andra exempel är en OggVorbis encoder och en PNG encoder.
Det är viktigt att inse att Alchemy inte per automatik löser alla problem. Det är inte all kod som kan kompileras för att köras i Flashspelaren och bara för att kod fungerar att kompilera så innebär det inte att den kommer gå snabbare än samma kod implementerad i Actionscript.
I vilket fall som helst är det en intressant utveckling och det ska bli kul både att se de exempel på Alchemykompilerad kod som läggs upp och de förbättringar Adobe antagligen kommer göra för Alchemy framöver.
Postat 12/8/2008, Kommentarer (230)Taggar: flash alchemy FlaCC
Kommentarer:
Kommentera inlägget