Giter Club home page Giter Club logo

luaprofiler's Introduction

Lua的性能分析器 For Unity


部署安装

目前支持XLua、SLua、ToLua,Unity的版本在5.6(包括5.6)以上

  • 打开Release目录,或者下载Release的zip
  • Window用户直接点击运行相应Lua插件的exe即可,mac运行对应的shell文件进行配置
  • Release\LuaProfiler文件夹Copy到Assets 非Plugin、Editor目录下。
  • 如果配置炸了,就手动改注释
// 把LuaHookSetup.cs 文件头的宏替换为
#define XLUA
#define TOLUA
#define SLUA

使用教程

开启

点击 "Window->Lua Profiler Window"在弹出窗口上打开 Deep Profiler,正常进入游戏即可看到profiler数据

效果如下

Record模式

    也是默认模式,如果关闭点击Profiler窗口下的Record按钮即可开启。在这个模式下将保存每次Profiler采样的历史记录,并且会将出现帧率下降、或者超大GC申请的Sample进行截屏保存,需要截屏的GC的阈值你可以在 capture gc 后面的输入框中进行配置,并且为了避免大分辨率下截屏,会自动把屏幕分辨率设置为480*270。如果不想截屏,可以点击NeedRecord开关进行关闭
    当你在编辑器下暂停或者关闭游戏的时候你可以拖动 start 以及end的进度条进行历史记录查阅,sample列表中将显示startend 的累计采样值。要单独观察某一个sample的消耗可以把startend 设置为相同值。

按钮功能介绍
  • 拉动滑条可以快速大概的调整sample帧
  • 点击 '<''>' 两个按钮一次只增加或减少1帧
  • 点击 '<<''>>' 两个按钮可以快速移动到效率出了问题的某些帧
  • Save跟Load 两个按钮可以保存和载入Sample的采样信息

使用效果

设置完IDE和Lua代码工程路径后,双击Profiler上的记录可以直接用IDE打开对应的代码位置,目前支持的IDE有VSCode、SubLime、IDEA、Clion、Rider

正常模式

    正常模式一般是针对本身就很卡的游戏,如果不想被Record模式的截屏影响 效率。你就可以选择这种模式,直接点击Record按钮关闭Record就可以了,几乎不会对游戏本身造成什么效率问题,你可以先在这个模式下把一些GC或者时间占用超长的明显函数进行优化后,在使用Record模式去细化发现一些隐藏比较深的效率问题。比如点击某些按钮、开启模型UI、摇杆、某些服务器协议的开启等等.....

有什么BUG可以联系加群:882425563

感谢

第三方库

Misaka Mikoto 的MonoHooker
xebecnan 的 UniLua

关键问题解决者

Xavier

关键测试的成员

Jay
ZhangDi
以及LuaProfiler群中的所有群成员

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.