Adsense

2009年10月4日日曜日

スクリプトの負荷が高いです。。。

「この前、SIM オーナーさんからネジ(ダンスポジション装置)の負荷が高いと指摘されて、、、」というフィードバックをユーザーさんからいただきました。

うん、、、? ネジ、負荷が高くなるような、for 文をまわしたり、オープンチャットを聴くような処理はしていないのですが、そういわれたのは事実のようですから、検証してみました。

結論を言えば、Sit したオブジェクトには Sit したアバターの CPU 時間が加算されるので、オブジェクト単体の CPU 時間ではない、、、ということなんです。

まず、、ネジの場合。わかりやすくするために FDP TEST という名前に変更します。
2a
この状態で SIM オーナーさんや管理者が利用できる Region/Estate の Debug の「Get Top Scripts..」でこの FDP TEST の CPU Time を確認します。0.002 秒ですね。
3a 
ここに Sit して、同様に CPU Time を確認します。0.215!!! に増えました。
5a
これだけを見ると FDP TEST はとっても負荷の高いスクリプト オブジェクトに見えます。そう思って当然ですよね。
名前フィルターをはずして、CPU Time の高い順にすべてのオブジェクトを表示してみます。
6a
赤い枠内の Location をみてください。FDP TEST とアバターの名前があり、高さはちょっと違いますが同じ位置です。CPU Time は FDP TEST が 0.210、アバターが 0.207、、、これをみてピンときました。その差は 0.003、、、。これが本来の FDP TEST の CPU Time じゃないかな、、、と。アバターの CPU Time は装着されているアクセ、服、靴、髪などに含まれているすべてのスクリプト時間が合算されているようです。

ほんとうかな???と思い、今度はプリムを作成し、なにも手を加えないスクリプトを追加してテストしてみました。

ボックスをつくります。
7a
スクリプトを追加します。何の手も加えません。
8a
この状態で CPU Time を調べると、0.001 秒の CPU Time です。
9a
この TEST BOX に Sit して CPU Time を調べます。結果、この箱も 0.232 に、、、。このようなスクリプト オブジェクトでも 0.232 ということですから。たしかにアバターの時間が加算されているようですね。
10a

最後に CPU Time が低いアバターでテストしてみます。なにもつけないと Top Script のリストに表示されないので、フェースライトだけをつけておきます。0.002秒の CPU Time のアバターです。
11a 
先ほど同様になにも手を加えないスクリプトの入った BOX に Sit して CPU Time を調べます。すると、0.004秒になっています。やはりアバターの CPU Time が加算されていますね。
13a 
このあたりのドキュメントないのかな、、、と思い調べてみましたが、なかなか「これ!」といったのが見つけられませんでした。