メイン ActionScript 3.0 特設会議室 BitmapData applyFilter | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
skunk | Åê¹ÆNo.37755 投稿日時: 2008-2-25 22:26 |
新米 居住地: 投稿: 7
使用環境:
Win2000,Flash MX |
BitmapData applyFilter お世話になります。
applyFilterのヘルプに -------------------------------------------- sourceBitmapData パラメータとして指定されたオブジェクトと BitmapData オブジェクトが同じであれば、Flash Player はオブジェクトの一時コピーを使ってフィルタを実行します。最適なパフォーマンスを得るには、このような状況を避けてください。 -------------------------------------------- とあります。 a.applyFilter(a , a.rect , new Point , new BlurFilter()); よりも 明示的に一時コピーする。 var clone=a.clone(); a.applyFilter(clone . a.rect ,,,,,); clone.dispose(); としたほうがパフォーマンスが高い??? いやいやと思い、 テストしてみましたが、 当然、 明らかに後者のほうが、 遅いです。 で、このような場合 var bitmap=new Bitmap(a); bitmap.filters=new BlurFilter(); としたほうが早い気がしますが、 そういうことですかね? それともこの処理中に、ロックをかけないと、 処理の割り込みが発生するとかそういう意味ですか? 非同期ではないとおもいますが。。 詳しい方いましたら教えてくださいませ。 |
ニノミヤ カズノリ | Åê¹ÆNo.37767 投稿日時: 2008-2-26 17:58 |
職人 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3) Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: BitmapData applyFilter この手はまったく詳しくありません。
テストもしていません。 以下、全て想像です。
実際の処理は知りませんが、 applyFilterの第一引数に適用させるオブジェクト(この場合a)を入れると、 自動的に下記の様な処理を内部で行っているのではないでしょうか。
明示的に実行した場合の方が処理が遅いというのは、 目的の処理以外に他にも処理が走っている事から来ていると予想します。 |
skunk | Åê¹ÆNo.37772 投稿日時: 2008-2-26 23:04 |
新米 居住地: 投稿: 7
使用環境:
Win2000,Flash MX |
Re: BitmapData applyFilter ありがとうございます。
ただ、他の処理の影響はないです。 何もしていません。 で、 クローンを作成すると同様の処理を内部で 行っているのであれば、 srcに同じbitmapDataを指定するのは、 問題ないと思うので、 何か違う理由があると考えています。 細かい事ですが、気になりません? |
ニノミヤ カズノリ | Åê¹ÆNo.37773 投稿日時: 2008-2-26 23:37 |
職人 居住地: 東京 投稿: 430
使用環境:
CS4 .4.11, .5.7 XP Pro(sp3) Flash Player 10,0,22,87, AIR 1.5.1, IE 5.5 & 6 & 7 & 8, Firefox 2.0.0.20 & 3.0.11 & 3.5, Opera 9.64, Safari 4, Google Chrome 2.0.172.31, Netscape 7.1 |
Re: BitmapData applyFilter 引用:
skunkさんは書きました: 私が言いたい他の処理と言うのは、作り手側の影響もあるかもしれませんが、 そうではなく、Flash側内部の話です。 ・ビットマップをクローンする ・フィルタを適用させる ・メモリを解放する この一連の流れをActionScriptのメソッドから呼び出していく場合、 もしかしたら処理中に他にも何かしらの作業を行っているかもしれません。 それよりは、内部的に一時コピーを実行してフィルタをかける目的のみの処理の方が ActionScriptを介さず直で行いますし、速いのではないのかな、と言う予想です。 |
skunk | Åê¹ÆNo.37774 投稿日時: 2008-2-26 23:57 |
新米 居住地: 投稿: 7
使用環境:
Win2000,Flash MX |
Re: BitmapData applyFilter どうもありがとうございます。
そういう事でしたか。。。 すいません。 ただクローンを作成し、 別のbitmapDataを渡した処理した方が 遅かったので、ヘルプの文章が、 引っかかっております。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |