跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
关于计算器百科
资助计算器百科
联系计算器百科
聊天室
友情链接
计算器百科
搜索
搜索
外观
登录
个人工具
登录
查看“︁TI-Lua/提高脚本运行速度”︁的源代码
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
TI-Lua/提高脚本运行速度
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{尚未完工}} 本章讲述一些脚本优化方法。 但是请注意到,脚本语言无论怎样优化,都不会比优化过的[[本地码程序]]快。但是如果希望自己的程序在运行时不至于卡到你想怒摔计算器,可以考虑在自己的程序中应用这些方法。 == 针对速度优化 == 此节会讨论如何让程序运行的更快。 === 合并逻辑 === 如果你的所有逻辑分支到最后都要做同一件事(比如刷新屏幕),那么就把刷新屏幕放到逻辑之外。 举个例子: <syntaxhighlight lang=lua> function on.charIn(c) if c == "a" then -- do something -- platform.window:invalidate() -- ^ don't refresh your screen here -- or else you have to do it everywhere elseif c == "b" then -- do something elseif c == "c" then -- did I just say do something? else -- you know it end platform.window:invalidate() -- ^ do it here, outside of the logic end </syntaxhighlight> === 展开函数 === 就像在 C/C++ 中那样,对于小而零碎的函数或者经常调用的函数做内联处理,有助于减少代码中的跳转次数,提高运行速度。 然而, Lua 没有宏处理器,更没有 <code>inline</code> 关键词。所有的内联展开都要手动完成。 展开内联通常会导致代码可读性下降。因此应该在发布时做这些事情。 === 缓存变量 === 在函数中调用超过两次的非直接变量应该使用一个局部变量缓存下来,避免多次查询变量。 比如你要频繁的使用一个表中的一些数据,在函数中将这个数据用局部变量复制下来是一个好主意。这也有助于让你的代码更整洁。 == 针对大小优化 == 此节会讨论如何缩减程序大小。 === 合并重复的代码段 === <code>platform.window:invalidate()</code> 之类冗长的代码,完全可以用一个名字简单的函数代替。 同样的,对于代码中经常出现的无参数或定参数代码段,可以将他们合并到一个独立的函数里。 === 使用混淆工具 === 尽管听起来很扯,但是这的确是减小脚本文件的方法。将虽然有意义但是长的变量名转化成一两个无意义的字母能够节省很多空间。但是请注意,混淆工具会使得你的代码不再具有可维护性。你应该仅在发布时混淆代码并转换成 tns 文件。 {{TI-Lua}}
该页面嵌入的页面:
Template:Info
(
查看源代码
)
Template:Lan
(
查看源代码
)
Template:NS
(
查看源代码
)
Template:Navbar
(
查看源代码
)
Template:Navbox
(
查看源代码
)
Template:PlainLink
(
查看源代码
)
Template:TI-Lua
(
查看源代码
)
Template:·
(
查看源代码
)
Template:尚未完工
(
查看源代码
)
返回
TI-Lua/提高脚本运行速度
。
搜索
搜索
查看“︁TI-Lua/提高脚本运行速度”︁的源代码
添加话题