Template:Needs Translation/
函数名
|
Function: integer llSetMemoryLimit( integer limit );
|
参数:
•整数限制
|
返回值:请求限制为此脚本保留的字节数。如果成功设置内存限制,则返回布尔值(整数);如果设置不成功,则返回FALSE。
|
注意事项
|
此函数的行为取决于脚本使用的VM。Mono是新的虚拟机,LSO是旧的虚拟机。
单声道
设置脚本的内存限制。
内存限制可设置为64k。
内存限制不能设置为低于脚本当前使用的内存。
所有新脚本的起始限制为64k
在引入此函数之前编译的Mono脚本继续使用64k限制。
下限将影响viewerui和llGetObjectDetails报告的内存量。
内存限制不是脚本实际使用的实际内存量,而是它的上限。
LSO公司
对LSO脚本没有影响,LSO脚本总是使用16k
单声道
当n太小时,将忽略llSetMemoryLimit(n),并且不会更改内存限制
|
示例
|
示例1
// 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.
|