{"repo":"leinlin/Miku-LuaProfiler","free":true,"listed":false,"github":"https://github.com/leinlin/Miku-LuaProfiler","clone":"git clone https://github.com/leinlin/Miku-LuaProfiler.git","description":null,"language":"C#","stars":2017,"topics":["lua","profiler","unity","xlua"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"Lua Profiler For Unity 支持情况 系统 支持情况 ----------------------- ------------ windows ✔ android ✔ MAC ✔ IOS 支持中 部署和安装 1. 推荐安装Unity2019可以直接用PackageManager 用add by git路径添加,国内网络不好可以使用gitee代理 https://github.com/leinlin/Miku-LuaProfiler.git 2. Unity5.6以上版本建议把代码clone下来，然后把LuaProfiler目录copy到Assets中 3. 看到这个菜单说明安装成功了 如何使用 - 编辑器使用推荐使用local模式，打开Profiler窗口运行游戏即可，去掉了deeplua这个开关 - 真机目前只支持android系统，打包的时候加上宏 USE LUA PROFILER - 打包后，在Unity的Application.persistentDataPath 目录下面建立 文件 need hook miku lua，使用后会自动删除这个文件，第二次如果需要luaprofiler请重新创建 可以参考下面的指令 编辑器中点击local mode 按钮就可以切换remote mode,输入手机ip就可以查看数据了 如果公司网络不允许你直接访问手机ip，那么可以用USB数据线连接手机和电脑输入以下指令 之后直接在ip栏中输入 127.0.0.1 即可 - 这个工程hook了dlopen去寻找lua的native库，因为dlopen是系统库可能会导致莫名其妙的闪退，为了避免这个问题，我们可以自己指定lua库 - 方法在CSharp-Assembly.dll 所在的库中建立如下脚本（注意防裁剪） 数据说明 Name Descriptions ----------------------- ------------------------------------------------------------------------------------------------------- Overview 函数名称 totalLuaMemory 此函数生成的所有Lua GC的总和 self 函数本身产生的GC量 totalMonoMemory 此函数生成的所有Mono GC的总和 self 函数本身产生的GC量 currentTime 函数在当前帧中运行所需的时间 averageTime 计算在函数上花费的时间的平均值 totalTime 此功能消耗的所有时间 LuaGC 由当前帧生成的Lua GC MonoGC 由当前帧生成的Mono GC totalCalls 游戏开始后此功能的运行次数 Calls 函数当前帧的执行次数 FAQ 有的Unity版本不支持 [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 这个属性的时候，你可以在lua虚拟机启动之前调用代码 打开DeepLua之后会有很多空异常报错 有的项目组会使用debug.getupvalue去获取变量并进行修改，但是MikuLuaProfiler会在所有代码执行之前添加一个Upvalue函数进行BeginSample和EndSample。这个会导致原先的upvalue表混乱，解决办法就是遍历Upvalue表，然后根据upvalue的命名获取到相应的变量，如下代码： ","default_branch":null,"files":null,"tree":[],"storefront":"/r/leinlin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/leinlin/Miku-LuaProfiler/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}