在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):lixianmin/lua-profiler开源软件地址(OpenSource Url):https://github.com/lixianmin/lua-profiler开源编程语言(OpenSource Language):C# 82.1%开源软件介绍(OpenSource Introduction):lua-profiler问题由来由于在线更新或bugfix的原因,lua在Unity3d手游中得到大量应用,但是缺乏配套的调试工具,使得lua相关的一些性能问题很难诊断,往往重度依赖程序人员分析代码,这对于简单的情景尚可应对,对复杂的游戏逻辑很多情况下会束手束脚。 Unity3d本身自带图形化Profiler工具,但是默认只会分析C#代码,对于lua代码则无法提供帮助。 设计思路本插件的设计思路很简单:
测试环境项目使用的Unity3d版本是Unity 2017.1.0f3,如果你的Unity3d恰好是这个版本(或者更高一些),那么你可以直接打开WinMain.unity场景运行测试;如果你的Unity3d版本略低,也没有关系,你只是需要新建一个场景并且把MBGame这个脚本拖到某个GameObject上运行就可以了。 项目使用的lua环境是tolua 1.0.7.381的版本,或者说是当前时间2017-11-15的最新版本。 项目使用的操作系统是mac OS 10.12.6。在mac系统中tolua默认使用的是luavm库,如果你使用的是windows,则tolua默认使用的是luajit库,因此看到的lua调用栈可能与后面的测试截图不同。 代码与文件项目中,你可能需要关注的文件有:
如果要把lua-profiler集成到你自己的开发环境中,你需要做的事情包括:
应用与问题该lua-profiler方案最早应用于完美乐逍遥的《火炬之光移动版》项目,不过当时是在C代码中调用的sethook。 该方案的主要优点是C代码的性能会更好,但是也会有两个问题:
本项目采用的是在lua中sethook的方案,这样在luajit中也是可以使用的。 测试截图
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论