So-net無料ブログ作成
検索選択

CVF_ImageUnit。(追記) [開発系とか]

追記)CoreVF全体をコンパイルし直しました。(リンク

//

昨日コメントをくれた78さんへ。速度低下の対処を試みました。
 (リンク削除)
こちらを試していただけますか。よろしくお願いします。

//

拙作CoreVFのプラグインの一つ、CVF_ImageUnit。エンコード時にCoreImageフィルタをかけることが出来るのですが、長時間エンコードで不安定であるという指摘を受けていました。

いろいろ調べたのですが、
 1)NSConnection -connectionWithRegisteredName:host:を呼び
 2)connectionのrootProxyを得て
 3)setProtocolForProxy:を呼ぶ
という処理を何度も繰り返すと、proxy経由の呼び出しが徐々にスローダウンする、という現象を突き止めました。(MacOS X 10.6.8で確認)

最初は上記の処理も、proxy呼び出しのオーバーヘッドも、1/1000もかからなかいのです。が、これを数万という単位で繰り返し呼び出すと、上記の処理、さらにはproxy経由のオーバーヘッドが、どんどん増大する、という悪循環に陥るようです。
一時間も処理をまわすとconnectionのinvalidateでハングアップのような状態に陥る現象が発生し、使い物にならなくなります。

プロセス間通信のエラー処理が面倒だから、簡単に使えるNSDistributedObjectを使っているのに、こういう落とし穴があると結構困ります。

・・・こういう連続呼び出しにDOを使う方が間違っているような気もしますが・・・
nice!(1)  コメント(3)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 3

78

すばらいい!
スローダウン、エンコ終了時のCVF_ImageUnitの問題ともに改善されていました。
GPUによるフィルターで速度低下回避いいですね。
いいフィルターの提供、感謝です。
by 78 (2011-08-21 18:24) 

78

言い忘れがありました。
当方の環境(OSX10.6.8、MSClip最新、x264Encoder 1.2.24、このCVF_ImageUnit)でほぼ100%落ちる操作が見つかりました。
エンコ中にstopを押すことです。
by 78 (2011-08-21 19:12) 

MyCometG3

もう少しいじった物をビルドしましたので、再度試してみてください。(本日の記事です)
by MyCometG3 (2011-08-21 21:58) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。

関連リンク

www   zip   http   net   プロセス   connection   MacOS  
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。