LlSetMemoryLimit/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: integer llSetMemoryLimit( integer limit );

このスクリプトのためにlimitバイトのメモリを予約するようにリクエストします。
メモリ制限が正常に設定された場合はTRUE(設定されなかった場合はFALSE)。を integer で返します。

• integer limit

仕様

この関数の動作は、スクリプトが使用しているVMに依存します。Monoは新しいVMで、LSOは旧VMです。

Mono
スクリプトのメモリ制限を設定します。
  • メモリ制限は最大で64kまで設定できます。
  • メモリ制限は、スクリプトで現在使用されているメモリよりも低く設定できません。
  • すべての新しいスクリプトは64kの制限で開始されます。
  • この関数が導入される前にコンパイルされたMonoスクリプトは引き続き64kの制限を使用します。
  • より低い制限は、ビューアUIおよびllGetObjectDetailsによって報告されるメモリの量に影響します。
  • メモリ制限はスクリプトによって実際に使用されている実際のメモリ量ではなく、その上限です。
LSO
LSOスクリプトには常に正確に16kを使用します。何も影響を与えません。

警告

Mono
nが小さすぎる場合、llSetMemoryLimit(n)は無視され、メモリ制限は変更されません。
All Issues ~ Search JIRA for related Bugs

サンプル

// 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.

特記事項

経緯

Date of Release 10/08/2011

Search JIRA for related Issues

Signature

function integer llSetMemoryLimit( integer limit );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。