【交流】Unity 项目中怎样正确的使用 Lua?
-
把酒临风
1楼 2016-11-12 14:15:58
开源, 和ulua相比快的没有朋友, 没有反射,没有额外gc alloc,采用静态代码生成, 可以用于游戏核心逻辑, 完整支持4.6+ UI系统.
同ulua/tolua的性能对比,请看这里 slua benchmark
20万次 测试用例 数据如下(slua0.6 vs cstolua1.7, slua0.7再次飙升速度)
主要功能如下:速度就是快, 这是slua的核心目标避免额外gc alloc, 去掉性能杀手90%以上UnityEngine接口导出(主要去掉了flash,平台相关的接口);100% UnityEngine.UI接口导出 (4.6+ 版本)支持UnityEvent/UnityAction, 使用lua function支持delegation,使用lua function (支持iOS)支持coroutine支持导出自定义类所有enum导出为number所有数组返回值导出为lua table使用luajit 64bit(完整支持armv7,armv7s,arm64), 可用lua5.3替换支持il2cpp/il2cpp 64
因为项目需要,比较了下uLua和sLua
测试工程见 GitHub - qiankanglai/unity_lua_benchmark: sLua/uLua Performance Test
放几张结果图
ps. 下面的图我为了美观都是对数坐标...
pss. uLua的工程目录我无力吐槽………………