查看“LlScriptProfiler”的源代码
←
LlScriptProfiler
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = 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可以像这样: <pre> llScriptProfiler(PROFILE_SCRIPT_MEMORY); my_func(); llScriptProfiler(PROFILE_NONE); llOwnerSay("This script used at most " + (string)llGetSPMaxMemory() + " bytes of memory during my_func."); </pre> 下面是它在脚本中的例子: <pre> //需要运行一些配置文件来注册… 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. </pre> |相关函数= [[llGetSPMaxMemory]] [[llGetMemoryLimit]] [[llSetMemoryLimit]] |相关事件= }} 附录:(表格) {| class="wikitable" border="1" |- ! Constant ! Val ! Description |- | [[PROFILE_NONE]] | 0 | 禁用剖析 |- | [[PROFILE_SCRIPT_MEMORY]] | 1 | 使内存分析 |}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlScriptProfiler
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息