LlSetMemoryLimit/ja
Jump to navigation
Jump to search
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: integer llSetMemoryLimit( integer limit );仕様
この関数の動作は、スクリプトが使用しているVMに依存します。Monoは新しいVMで、LSOは旧VMです。
- Mono
- スクリプトのメモリ制限を設定します。
- メモリ制限は最大で64kまで設定できます。
- メモリ制限は、スクリプトで現在使用されているメモリよりも低く設定できません。
- すべての新しいスクリプトは64kの制限で開始されます。
- この関数が導入される前にコンパイルされたMonoスクリプトは引き続き64kの制限を使用します。
- より低い制限は、ビューアUIおよびllGetObjectDetailsによって報告されるメモリの量に影響します。
- メモリ制限はスクリプトによって実際に使用されている実際のメモリ量ではなく、その上限です。
- LSO
- LSOスクリプトには常に正確に16kを使用します。何も影響を与えません。
警告
- Mono
- nが小さすぎる場合、llSetMemoryLimit(n)は無視され、メモリ制限は変更されません。
サンプル
// Memory-walkthrough by Daemonika Nightfire (daemonika.nightfire)
integer limit = 20000; // <- bytes
Test()
{
llSetText("Limited Memory " + (string)llGetMemoryLimit() +
"\nUsed Memory " + (string)llGetUsedMemory() +
"\nFree Memory " + (string)llGetFreeMemory(),<1,1,1>,1);
}
default
{
state_entry()
{
llSetMemoryLimit(limit);
llScriptProfiler(PROFILE_SCRIPT_MEMORY);
Test();
llScriptProfiler(PROFILE_NONE);
llSay(0,"This script used at most " + (string)llGetSPMaxMemory() + " bytes of memory during Test.");
}
}
// Result:
// Floating Text:
// Limited Memory 20000
// Used Memory 4972
// Free Memory 15100
// Chat:
// [05:11] Object: This script used at most 4972 bytes of memory during Test.
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。