“LlScriptProfiler”的版本间的差异
|  (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}   {{函数详情 |函数名 = Function: llScriptProfiler( integer flags ); |参数= 参数:• i…”) | |||
| 第69行: | 第69行: | ||
| |相关事件= | |相关事件= | ||
| }} | }} | ||
| + | 附录:(表格) | ||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Constant | ||
| + | ! Val | ||
| + | ! Description | ||
| + | |- | ||
| + | | [[PROFILE_NONE]] | ||
| + | | 0 | ||
| + | | 禁用剖析 | ||
| + | |- | ||
| + | | [[PROFILE_SCRIPT_MEMORY]] | ||
| + | | 1 | ||
| + | | 使内存分析 | ||
| + | |} | ||
2020年8月19日 (三) 03:44的最新版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials | 
| 函数名 | 
|---|
| Function: llScriptProfiler( integer flags ); | 
| 参数:• integer flags – PROFILE_* flags | 
| 返回值:启用或禁用脚本分析状态。 | 
| 注意事项 | 
|---|
| 不能对编译到LSO的脚本进行内存使用分析。 配置文件状态将重置为PROFILE_NONE,如果: 脚本所在的对象被解除、rezed或更改区域(通过区域交叉或传送) 该脚本所在的对象区域关闭或重新启动 如果脚本被重置或从库存中取出或取出 被分析的脚本(但不包括区域)的性能损失高达100倍。 Specification 这个函数的行为取决于脚本所使用的VM。Mono是新的VM, LSO是旧的VM。Mono和LSO之间的最大区别是,Mono脚本运行得更快,可以利用四倍多的内存。 Mono 使用这个函数和PROFILE_SCRIPT_MEMORY一起使用,可以在脚本性能损失严重的情况下启用内存分析。与PROFILE_NONE一起使用可以禁用分析。在运行分析期间和之后,llGetSPMaxMemory将在任何时候返回使用的最多的内存。 LSO 这个函数对未编译到Mono的脚本没有影响。 | 
| 示例 | 
|---|
| 调用llScriptProfiler可以像这样: llScriptProfiler(PROFILE_SCRIPT_MEMORY);
my_func();
llScriptProfiler(PROFILE_NONE);
llOwnerSay("This script used at most " + (string)llGetSPMaxMemory() + " bytes of memory during my_func.");
下面是它在脚本中的例子: //需要运行一些配置文件来注册…
workerMethod()
{
    float mathNumber = 3 * PI + 3 * llSin( PI );
    llSetText( "Answer: " + (string)mathNumber, <1, 0, 0>, 1.0 );
}
 
default
{
    state_entry()
    {
        llSetMemoryLimit( 5000 ); // 设置内存限制
 
        // 调用分析器,执行一个方法,停止分析器
        llScriptProfiler( PROFILE_SCRIPT_MEMORY );
        workerMethod(); 
        llScriptProfiler( PROFILE_NONE );
 
        // display memory usage...
        llSay(0, "Memory used: " + (string)llGetSPMaxMemory() + " bytes, total memory: " + 
            (string)llGetMemoryLimit() + " bytes." );
    }
}
 
// outputs 
// Object: Memory used: 4968 bytes, total memory: 5000 bytes.
 | 
| 相关函数 | 
|---|
| llGetSPMaxMemory | 
| 相关事件 | 
|---|
附录:(表格)
| Constant | Val | Description | 
|---|---|---|
| PROFILE_NONE | 0 | 禁用剖析 | 
| PROFILE_SCRIPT_MEMORY | 1 | 使内存分析 | 
