Second Life in Japan
Advertisement

Scripters_cafeログ


08/04/19[]

Lingr転送スクリプトの見直しで、いろいろ無駄な部分はあるのですが、大きな箇所はリストの使い方だろうということで、リスト周りを調べていました。


リストへの要素の追加については、リスト要素追加のブードゥー呪術を使うことでメモリを効率的に使えるようになるはずで、これについては対処済みでした。

Chiyosukeさんのドキュメント 3.2.3 ヒープ上の変数の更新 を参照


実際にエラーが出ている箇所では、リストの要素追加を行っている部分ではなく、リスト内の要素を llListReplaceList で書き換えている箇所でした。

llListReplaceList を呼び出している箇所でも、値を書き換える前のリスト変数と、書き換えた後のリスト変数が同時にヒープに存在する瞬間ができてしまうため、この部分でメモリ使用効率が悪くなっていると考えられます。


また、上記とは別に、ヒープの断片化による利用効率の低下も考えられるのですが、メモリダンプなどを得られない現状、このあたりの調査は難しそうです。


【参考】

Advertisement