Saqoosha

大阪てら子 18「Flasher のクリスマス大喜利」

Blog

2008111101-Teraco18

シナチクの人が準備してくれました、次回てら子。(↑なにこれ)
今回はー、お題「クリスマス」でなんか作ってきてくださいとのこと。MVP に選ばれた人は 2 次会のご飯代をシナチクくんがおごってくれるらしいです。

開催日時:2008年12月6日(土)14:00~ (途中参加 OK)
開催場所:大阪府 (いつものカラーズさんち地図。)
いつも通り 18:30 ぐらいから 2 次会もやるよ。2 次会からの参加も OK。

参加申し込みは ATND のページでよろしくでーす。

Teraco-Logoてら子とは。 Flash / ActionScript を中心に、情報共有をしたくて、いてもたってもいられない人達による集会ということでよろしくお願いします。

Alchemy いじってみた

BlogFlash

昨日?だったっけ、Adobe MAX で発表された Alchemy をいじってみたわけよ、C とか C++ で Flash Player 用のコードが書けるってやつ。FAQ によると AS3 の 10 倍ぐらい高速に動く可能性があるとかって。

環境構築は Getting Started 見ながらやれば問題ない。簡単。サンプルの stringecho も問題なく動いた。

んで次、いきなり Box2D (C++) やってみたね。これ速くなるとうれしい。ソースコード落としてきて 適当に Makefile 書き換えてコンパイル、ってするとー、

/Volumes/Data/Temp/alchemy/avm2-libc/include/c++/3.4/new:82: error: 'operator new' takes type 'size_t' ('long unsigned int') as first parameter

こんなのがたああくさん。該当するヘッダファイルのぞいてみたけど、どこをどう直せばいいかわらななくで断念。

次、ARToolKit (C)。これもねー、速くなると嬉しいねー。FLARToolKit は遅いからねぇ。こっちは swc 作るとこまではなんとかいけた。(いくつか手動でヘッダファイルを書き換えないとダメだけど。)

んで ARToolKit の関数を呼ぶとこまでたどりついたんだけどどうも内部の値がおかしい。arParamLoad できない(fread できない)から ByteArray 渡して AS3_ByteArray_readBytes で ARParam を作ってみたら endian が逆っぽい値になってる。これもどこ直せばいいかわからなくって断念。

つーわけで、成果ナシ。まぁ、まだバージョン 0.4 だしね。このへんの問題もそのうち解決するだろ。もうちょっとバージョンあがってからまた試そう。

ああそうだ、Alchemy どんだけ速いねんってことで軽くテスト (Graphics#lineTo を 100,000 回呼び出すとか) してみてたのだけど、C/C++ → AS3 の関数呼び出しがめちゃくちゃ遅い。AS3 → AS3 の 100 倍ぐらい時間かかってた。ので、やっぱ数値計算メインのことをやらせるのが吉な感じ。

・・・

フォーラムにあまりにも投稿がなくてわろた。

Categories: Flash

Comments (2)

  • makoche
    出たね。saqの言うとおり計算向けだね。コーデックとかパースとか。
    C/C++で動くものが全てFlashで高速で動く、というのは幻想。現段階では無いと思うな。ネイティブに勝るものはないけど、頑張って欲しいよねー。
  • Saqoosha
    おー、makoche。
    だよねー、画像処理系なら Pixel Bender のほうが速い場合も多そうだし、なかなか使いどころが難しい。なににしてももうちょい C/C++ と AS3 間のやりとりが高速にならないとせっかく速くなってる部分がスポイルされちゃう。

    っていうか Alchemy の存在意義としては高速化というよりかは、今存在してる C/C++ のライブラリがある程度簡単な修正で Flash Player でも動かせちゃうってところのほうがデカいんだな、結局。