スクリプターズカフェ/ログ/ラグメーターの負荷軽減
出典: Second Life in Japan
[編集] 08/09/20
スクリプターズカフェなどに設置してあるFakeさん作のラグメーターですが、プリムの形状(scale)変更を利用しているため、Show Updates表示を有効にすると、赤色の更新表示になります。
※Show Updates表示の赤は青よりも大きな更新パケットになっています。
そこで、メーターの表示方法を工夫して青の更新パケットで処理できるようなものを考えてみました。
- llRotLookAtを使って、円筒状のメーターを回転させて表示
- 更新表示は青になるが、見える面が一方向になってしまう
- llSetColorを使って、プリム全面の色で表示
- 更新表示も青になり、どこからでも見える。
ただ、この2つのいずれも「ラグの視認性」という点では元のscale版より劣るようです。
これら3つの方法の負荷について、これ以上細かく検証する手段はほとんどないのですが、
- scale版:llSetScale
- rot版:llRotLookAt
- color版:llSetColor
のいずれもディレイのない関数なので、関数そのもののサーバー側での処理負荷はほとんど同一と思われます。 しかし、関数が実行された結果、scale版では大きさの変更処理、rot版では回転処理が発生します。大きな物理演算ではありませんが、これらの変更に伴って、たとえばプリムのバウンディングボックスの変更などが発生し、わずかでもサーバー側での演算が発生します。
これと比較して、色の変更ではプリムそのもののシミュレーションには全く影響しないため、更新パケットの大きさだけでなく、サーバー側での演算負荷も低いものになっていると考えられます。
このページのTinyURL:http://tinyurl.com/SC-lagmeter
