Flash e Alchemy

Alchemy é um projeto de pesquisa da empresa Adobe Systems onde o objetivo é compilar códigos escritos em C/C++ para o bytecode da AVM2 (máquina virtual usada no Flash Player e Adobe AIR). Logicamente, o código gerado tende a ser mais rápido, graças a massiva otimização dos compiladores C e, também, devido o modelo de memória da linguagem onde – no reducionismo – tudo se resume a bytes.

Logo no começo dessa empreitada eu esperava uma diferença gritante de desempenho entre os códigos gerados. No entanto, de todos computadores que o aplicativo foi testado a maior diferença foi de oito frames por segundo a favor do Alchemy.

O teste consistiu na criação de um sistema de partículas (Particle System em inglês) para simular fogo. Dois renderizadores foram criados: um escrito em Actionscript3 e compilado na IDE do Flash e outro em C compilado com o Cygwin através do Alchemy. O trabalho de cada renderizador consiste em desenhar o sistema de particulas sobre um bitmap que será exibido na tela. Os algoritmos desenvolvidos em ambas linguagens são extremamente semelhantes, ficando as diferenças a cargo dos diferentes conceitos das linguagens.

O código fonte é distribuído sob a licença LGPL (Lesser GNU Public License).
Download ParticleSystem – código fonte (Actionscript3 e C)
Executar ParticleSystem (requer Flash Player 10)

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: