Flashにおけるメモリ管理

flash.sampler っていうパッケージを最近知ったので使ってみたかっただけです。 メモリ管理のコツとかそういう tips 的なことは一切書いてないですごめんなさい。。 注) 32bit CPU での検証結果です flash.sampler.getSize() で各クラスのサイズを調べてみました。 [as] import flash.sampler.getSize; // トップレベルのコアクラス (Error のサブクラスなどは除く) var top_level:Array = [Arr…

ByteArrayキャッシュ

今回は、Flash内で扱うデータのキャッシュについて。 CPUバウンドな処理を行うFlashを公開するにあたり、処理を軽くする方法をいろいろ考えましたが、 シンプルに考えて、計算結果をどこかにキャッシュしておくことにしました。 少し前に書いたFlashでステレオビジョン入門を例に取ります。 例えば、ブロックマッチング法などでは動的計画法(DP)を用いて途中の計算結果を使い回しますが、 “アプリケーション”であれば、最終的な計算結果のみをどこかにキャッシュしておき、 次のリ…

Flashでハイブリッドイメージ

何日か前に、はてなでハイブリッドイメージが話題になっていたみたいです。 僕も数年前にJavaで作った記憶があり、懐かしさも覚えつつも今回はFlashで。 例によってマリリンシュタイン。 >> Demo (ハイパス/ローパスフィルタの半径をスライダーで変更可能) 今回のデモではアインシュタインの方にローパスフィルタを、 マリリンモンローの方にハイパスフィルタをかけています。 近視の人だとマリリンモンローはほとんど見えないはずです。 ただ、はてブの例ほど良い画像を組み合わせていないので、 近くで見て…

WebカメラでVTR調フィルタ

2008年のエントリー VTR調変換 AS3.0 の内容を動画でも試してみました。 ダビングや経年などで劣化したVTR映像のような効果を付加するものです。 2年前の記事では OpenCV の IplImage 構造体を模した独自クラスを作り、 そのクラスのメンバに画像データを入れて処理しています。 今回は対象が動画ということもあり、メインのロジック部分をコンパクトにしました。 なるべくキャッシュにヒットするように書いているつもりですが、 GCのSweep Phaseで荒らされると思いますので気休…

Flashで画像処理するときのコツ

注意) レンダリングの高速化とは別レイヤーの話になります。 去年の記事でAPIレベルの考察はしていますが、今回はもう少し踏み込んで考えてみます。 get/setVector() vs get/setPixels() その前に BitmapData.getVector() と BitmapData.getPixels() のシグネチャを再掲。 両APIともピクセルデータを一次元のコンテナに詰め込むメソッドです。 getPixels(rect:Rectangle):ByteArray ピクセルデータ…

Mooseメモ

業務メモ。 Class::Accessor::Fast を使って書かれたモジュール群を Moose を使って書き換え中。。 使い始めてまだ3日くらい。使いこなせるようにがんばる。 Mooseについて Mooseは Meta Object Protocol (MOP) という概念を採用したオブジェクト定義の技法を提供する。 (Class::MOP のラッパー) Webアプリケーションフレームワークの Catalyst も5.8系からMooseベースになったとのこと。 型制約 Mooseで指定したア…

Flashでステレオビジョン入門

Demo: Experiments in Stereo Vision (ByteArrayキャッシュ利用) 実は何年か前に試みたことがあるのですが、たしかFlash CS3とかで作っていて、 その時の.flaファイルが行方不明、、、諦めてリトライしようかと。 今度はちょっと真面目にFlex (Flex SDK 4)で作ってみます。 ステレオグラムを寄り目とかにしながら見て立体視するみたいな、 「人間ががんばる」話ではなく、あくまで機械で立体視をシミュレーションします。 ただ、相当デリケートな処理…

Hadoop関連メモ 2

業務メモ。 適当にスルーしてください。 SequenceFile SequenceFileは、<key, value>形式でデータを保持する。 テキストをそのままMapで読み込むと、keyにバイトオフセット、valueに入力テキストが入るが、SequenceFile形式だとkey, valueをそのままMapの入力とすることができる。 また、圧縮していても各ノードに分散される(gzipは分散されない)。 hadoop fs -textとすれば、コマンドラインからテキスト形式で内容を出…