疑似スペアナとパフォーマンス問題

| No Comments | No TrackBacks

なんとも中途半端な実装ではあるけど、mldspに疑似スペアナを追加した。とりあえずキーオンに合わせてボリュームを上げて、周りを比例的に調整して、150msecごとに全体量の10%ずつ減衰するというだけの単純な実装でしかないけど。ひとつには、まずボリュームを保持して画面に反映して一定時間で減衰させるロジックだけでも実装したかったことがある。たぶん減衰のロジックは単純な減衰で問題は無いと思う。スペアナで表示される値の計算はいくらでも改善の余地がある(というかまだ整理して考えていない)。

単純な実装のままにしてある理由のもうひとつは、スペアナ実装のパフォーマンスへの影響がだいぶ大きいので、このまま先に進めるとまずいと思っていることがある。先にアプリケーションの最適化を実現しないと、Silverlight上で実行してもロスが大きいので、Moonlightだとたぶん大変なことになる(今日はMac上で実装を書いていたのでMoonlightでは未確認)。最近はMoonlightのどこかでパフォーマンスが以前より悪化している状態なので、通常の演奏でもだいぶ支障が出てきている(これは旧バージョンでも同じ)。

とりあえず、見てくれだけはスペアナっぽいものが出来たので、スペアナ自体はクリアしたということにしておこうと思う。

パフォーマンス改善のポイントは、とりあえずの推測としては、タイマとStoryboardを減らすと大きいと思っている。Storyboardは(現在の利用方法上)不必要に高い精度で実行されている。タイマはDispatchTimerなので、実行時にはJavascriptへのドメイン越えが必要になる。多分そこでロスが発生しているので、タイマ越しに実行されるコードをなるべくまとめるようにしたい。

パフォーマンスの問題は、実のところプロファイラを使えばある程度計測出来るはずなので、いずれそれで見てみようとも思っている。

No TrackBacks

TrackBack URL: http://veritas-vos-liberabit.com/noteon/mt-tb.cgi/45

Leave a comment

About this Entry

This page contains a single entry by note on published on July 18, 2009 11:50 PM.

parenthesized expressions was the previous entry in this blog.

トラック別マクロ定義、動的マクロ適用と動的パラメータ変化の実装 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.23-en