Profili Göster

FlaCC ile Flashta Hız Sınırını Aşmak

Deniz Davutoğlu Tarih: 29/10/2008 Yorum: 6 adet

Okunma : 2096 Tutanlar: Bu yazıyı 4 kişi tuttu.

Herkes bunu biliyor artık, eğer Flash ile geliştirdiğiniz uygulamayı AS2 yerine AS3 ile yazarsanız uygulamanız 10 kat hızlı çalışır.

Peki as3 kodunu 10 daha hızlandırmak ister misiniz? Özellikle görsel hesaplamaların ağırlıklı olarak yapıldığı 3d uygulamalarda oldukça faydalı olacak bir metod geliştirildi FlaCC. Bu yönteml c/c++ ile yazılan uygulamaları swf olarak derlemek mümkün.

Sonuç olarak uygulamazın AS3 kodundan 10 kat hızlı çalışıyor, c/c++'tan ise sadece 2 kat daha yavaş.

Yanlız olay bu kadar ile kalmıyor, eğer isterseniz geliştirilen yorumlayıcılar ile PHP, Ruby, Python, Perl gibi script dilleri ile de .SWF içerisinden server side kod çalıştırmak mümkün gibi görünüyor.

ilgilenenlere konu ile ilgili videolar:

http://www.peterelst.com/blog/2008/10/04/what-is-flacc-all-about/

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Selcuk.Bozdag 29/10/2008

HaXe projesinde de benzer bir durum soz konusu. http://haxe.org/ adresinden projeye ulasabilirsiniz.

Profili Göster
Mask Production 31/10/2008

tam olarak anlayabilmiş degilim birileri kısaca açıklayabilirmi ?

Profili Göster
Selcuk.Bozdag 1/11/2008

neyi anlamadiniz?

Profili Göster
Mask Production 1/11/2008

şöyle söyleyeyim bu tür uygulamanın örneklerini göremedigimiz için nasıl sonuc doğuyor onu anlamadım

Profili Göster
Selcuk.Bozdag 1/11/2008

Bunlara DSL(Domain Specific Language) deniyor. Genel cercevede X diliyle Y dili icin kod uretiyor. Amac daha az ve elegant kodlamayla ayni isi (zaman zaman daha iyi performansla) yapan ciktilar uretmek.

haXe icin su ornek verilebilir:

Test.hx


class Test {
    static function main() {
        var mc : flash.MovieClip = flash.Lib.current;
        mc.beginFill(0xFF0000);
        mc.moveTo(50,50);
        mc.lineTo(100,50);
        mc.lineTo(100,100);
        mc.lineTo(50,100);
        mc.endFill();
    }
}

Ardindan derleme parametrelerini sunmak icin "compile.hxml" dosyasini ayni dizinde olusturuyoruz.


-swf test.swf
-main Test

SWF uretmek icin:


haxe compile.hxml 

diyerek, test.swf uretilmis oluyor.

DSL icin verebilecegimiz bir diger guzel ornek de Groovy. Java bytecode'lari uretebilmek icin Groovy script'leri yazabilir. Ornegin:

HelloWorld.groovy


println "Hello World"

Bunu derlediginizde sonucta HelloWorld.class elde edersiniz ve butun JVM'lerde calisir.

Ayni sonucu uretmek icin Java'da:


public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Hello World");
    }
}

Yani fazladan "boilerplate" yazmak yerine Groovy ile JVM bytecode'u uretirsiniz.

Yeni yuzyilda bu dillerin yayginlasacagini vurguluyorlar. Mesela Java icin calistigi ortam (JVM) acisindan yenilikci ancak dil acisindan 90'larin teknolojisi olarak bakanlar da var. Onun yerine Groovy ya da Scala hatta JRuby ya da Jython ile JVM'de calisacak programlar uretmek mumkun.

Profili Göster
Mask Production 1/11/2008

Çok şık bir açıklama olmuş gerçekten çok teşekkür ederim. şimdi bakış açım daha farklı hale geldi.

yeni üyelik | şifremi unuttum

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 53 (50 kayıtlı, 3 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul