November 04, 2005

[パフォーマンス向上のヒント]UIオブジェクトの使い何処

Live Review

11月2日、京都でのアーカイ美味んぐ展覧会のオープニングパーティでライブをしてきました。
去年末から取り組んでるプログラムをライブごとにマイナーアップグレードを重ねて、完成度の高いものになってきているバージョンだと思っているので、満足のできるものを見せることができたと感じてますが、いかがだったでしょうか?
ただ、映像のパッチの方が、PowerMac 2.7GHz Dualでもピーキーな巨大パッチなので、当日稼働させた、2.0GHz Dualでは、後半フレームレートが全く出ず、そこんところは申し訳ない心境に陥りました。
真剣に2.5GHz Quadの購入を考えてます。
あと、このサイトで音響合成やらを書いてくれる予定のyosuke hayashiくんもライブをしました。SuperColliderでよどみの無い音を出しながら、OpenGLで描画した映像も1台のpowerBookで生成して、映像側での操作も同時に音に反映させたり、さりげなくトリッキーなことしてました。

UIオブジェクトの功罪

てことで、前置きが長くなりましたが、
自身も悩まされる巨大パッチのパフォーマンス向上について、
今回は、巨大化したパッチのパフォーマンスを向上させるための方法の一つ。
それは、Max UI オブジェクトを最小限にすることです。
(UI オブジェクトとは、Number box、Dial、Slider等のユーザーインターフェイスオブジェクトです。)

NumberBoxを例にすると、
非常に参考になる、Maxメーリングリストでの投稿があったので、参照してください。

http://www.synthesisters.com/hypermail/max-msp/Sep05/30728.html
実験パッチへの直リンク:Jitter_performance_and_Max_UI_objects.zip

この実験では、1000個の"int"オブジェクトに数値を入力する場合と、1000個の"number box"に数値を入力する場合とを比較すると、"number box"の場合では、格段にパフォーマンスを低下させることを示しています。 つまり、"number box"は入力数値を描画するため、その分の負荷がかかるわけです。
なので、サブパッチ内や、逐次モニタリングする必要のないところでの"number box"の使用を避けるだけでも、パフォーマンスの向上が図れるのです。

num-int.gif
↑1000の"int"の場合

num-num.gif
↑1000の"number box"の場合(*0*)

関連記事






次の記事

Nov 12, 05
Written by Satoshi HORII | Synthesis
声や楽器の音、あらゆる音は、各周波数の変化、組み合わせで説明がされます。 ので、音響合成である音に近似した音をゼロから人工的に生成することは理想の上では可能なので、昔から研究されてきている分野です。...

前の記事

Oct 31, 05
Written by Satoshi HORII | info
アーカイ美味んぐの展覧会"暗黒の騎士"の関連企画、オープニングパーティ【解体マグロショー】 にて、Daito...