2009年03月01日
Pixel Bender V.S. ColorMatrixFilter @ Flash
Pixel Bender(ShaderFilter)とColorMatrixFilterを比較してみました。
Pixel Benderの方はPixel Bender Toolkitで作成したpbjをEmbedして、ColorMatrixFilterは配列としてデータを持たせて、mx:HTMLに対してフィルター適用とfilters = nullを10000回繰り返してみました。
mx:HTMLはYahoo!のトップページを表示。mx:HTMLと書いているので、当然FlexでAIRアプリケーションです。AIRは1.5。
結果は
Pixel Bender 80msから110ms
ColorMatrixFilter 40msから60ms
シンプルな分だけColorMatrixFilterが速いって事か。当然と言えば当然の結果ですね。
ちなみに、ColorMatrixFilterはこんな感じです。
[0.567,0.433,0,0,0, 0.558,0.442,0,0,0, 0,0.242,0.758,0,0, 0,0,0,1,0, 0,0,0,0,1]
Pixel Benderの方はこんな感じ。
<languageVersion : 1.0;>
kernel Protanopia
<
namespace: "unknown";
vendor: "unknown";
version: 1;
description: "";
>
{
input image4 src;
output pixel4 dst;
void
evaluatePixel()
{
pixel4 color = sampleLinear( src, outCoord() );
float r = (color.r * 0.567) + (color.g * 0.433);
float g = (color.r * 0.558) + (color.g * 0.442);
float b = (color.g * 0.242) + (color.b * 0.758);
dst = pixel4(r,g,b,1.0);
}
}
実験の結果Pixel Benderの方が遅いって事が分かりましたが、外部ファイルにして簡単に適用できるし、ColorMatrixFilterよりも複雑な事が出来るので、現在作っているモノをPixel Benderを使う形に書き換える事にしました。フィルターは全部外部ファイルにするので書き換えが可能になります。簡易的なモノを初期状態では提供して、もっとちゃんとしたフィルターが欲しい人は自分で自作して下さいという形にします。
関連日記
- 2008年09月26日 初めてのPixel Bender作品 (4793)@ Flash
- 2010年09月01日 カラーユニバーサルデザインの為のiPhoneアプリ (4064)@ 携帯電話
- 2009年05月26日 ホモグラフィー (3481)@ Flash
- 2008年10月15日 Flash Player 10リリース (3309)@ Flash
- 2008年05月16日 Pixel Bender Toolkit (3016)@ Flash
- 2009年05月30日 FlexでのPixel Bender (2913)@ Flash
- 2008年09月12日 MXMLでPixel Bender (2677)@ Flash
- 2009年06月05日 Pixel BenderとAlchemyのリンク集 (2675)@ Flash
- 2008年05月21日 PhotoshopがFlash製ウィジェットに対応? (2662)@ Flash
- 2009年03月15日 色盲シミュレーション・ウェブブラウザ(仮) Ver.0.151 (2593)@ Mac
- 2009年04月03日 Pixel Bender Prerelease 6 (2570)@ Flash
- 2009年08月01日 Adobe AIR 1.5.2 (2487)@ Flash
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。