BlackSheep-LSL@Wiki llGetFreeMemory
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

llGetFreeMemory

integer llGetFreeMemory()

スクリプトが使用可能な残りメモリ容量(単位byte)を返す。

各スクリプトが利用可能なメモリ容量は一律16Kbyteである。
このメモリ容量の中にはスクリプトのバイトコード、スタックメモリ、ヒープメモリが含まれる。

極々簡単に言ってしまうなら、スクリプトのバイトコードとはスクリプト本体のことであり、スタックメモリは関数の呼び出し時に使われる領域、ヒープは変数の格納領域である。
すなわち、以下のような事柄がメモリを消費する要因になる。

  • 巨大なスクリプト
 1スクリプト内に全ての処理を書くには限界がある。
 スクリプトで実装する機能が膨大な場合はモジュール化(複数のスクリプトに分けてリンクメッセージ等でやり取りする方法)を考慮する。

  • 関数のネスト
 大量のユーザー関数を用意し、関数の中から関数を呼び出し、さらに別の関数を・・・と次々に呼び出すとスタックメモリが消費される。

  • 巨大なリスト
 リスト型変数は何でも格納できて便利だが、格納サイズには限界がある。
 リストを多用し、いくつもの要素を格納していくとヒープメモリが足りなくなる場合がある。

かなりザックリな説明なので突っ込みどころではある(^^;

名前:
コメント: