BitmapData#threshold 高速化
前回は BitmapData#peletteMap の高速化を見ましたが、今回は BitmapData#threshold の高速化についてです。
この検証については「入力元と出力先が異なる」という条件を設定しています。
条件部分を抜き出すと以下のような感じ。
var target:BitmapData = new BitmapData(source.width, source.height, transparent, color); target.threshold(source, rect, ZERO_POINT, ">=", _threshold << 8, 0xffffffff, 0x0000ff00, false);
結果は以下のとおり。
- source の transparent は false よりも true の方が速い
- source の transparent が同じなら、target の transparent には、あまり大きく左右されない
BitmapData#paletteMap 高速化
先日、ある縁から、以前 ActionScript 3.0 で作った画像処理フィルターのいくつかを見直すことになりました。
処理速度のチューンアップが命題になりまして、いろいろ試してみたところ、高速化を図れる要素がいくつか見つかりました。
しかし時は流れて、世は Stage3D 時代。そのフレームワークである Starling がもて囃されているらしい今日この頃。
今さら flash.display.BitmapData の高速化に如何ほどの需要があるのかはなはだ疑問ではありますが、というか ActionScript 自体の寿命すら危ぶまれてる気がしないでもないですが、せっかく知見を得たのでエントリーしようかと。
検証したのは BitmapData#peletteMap と BitmapData#threshold のふたつのメソッド。
今回は paletteMap の高速化についてです。
なお、コード開発環境は FlashDevelop 4.4.3 RTM。
過去のバージョン全削除。クリーン・インストールで、AS コンパイラや Flash プレイヤーも同時にインストールし直しました。
「ドロネー三角分割でWEBカメラ表示」高速化
先般 wonderfl に s26 さんが投稿したドロネー三角分割でWEBカメラ表示が激萌えなんですが、速度が激萎えなんです。
コードを拝見してみたら、なんか C 言語のコードを ActionScript に直訳したような記述。
自前でゼロから書かなくても、Actionscript の既存クラスメソッドが使えるなぁ、とか、過去、先達が高速化のために使わない方がよいと言ってたメソッドを使ってるなぁ、とか、いろいろあったので、今現在持てるテクニックを導入して、コードを書き換えてみます。
それがコレ↓
forked from: ドロネー三角分割でWEBカメラ表示 – wonderfl build flash online
加法混色と減法混色(2)
加法混色と減法混色の話の続き。
前回は、白ベタ塗りの BitmapData から作った3原色の表示オブジェクトのブレンドモードを単純に入れ替えるだけで、加法混色と減法混色が示されることを確認しました。
今回は、白ベタ塗りの BitmapData ではなくて、読み込んだ写真の BitmapData を使って、加法混色と減法混色を見てみます。
加法混色と減法混色(2) – wonderfl build flash online
加法混色と減法混色(1)
加法混色と減法混色 – wonderfl build flash online
さて、色について、です。