lua的debug庫提供了 sethook接口, 能夠監控 函數的進入和返回事件,所以能夠統計一個函數的運行時間python
能夠每幀,打印日誌,當前幀調用了哪些函數,每一個函數的調用次數,總的調用時間長度,經過分析日誌,能夠獲得函數的性能指標c++
參考UnityProfiler 能夠統計函數調用的層次關係,函數本身的時間和子函數的時間區分git
同時須要一個性能比較好的日誌庫,防止頻繁寫日誌函數
能夠使用c++,調用LuaAPI 爲Lua寫庫;性能
CPu性能分析庫主要涉及4個接口:測試
日誌設置lua
啓動.net
寫日誌debug
中止日誌
使用簡單的高性能日誌庫:easylogging++.h
庫地址:
http://git.oschina.net/liyonghelpme/LuaProfilerForUnity
集成方法:
將這個工程中代碼拷貝到Unity的Plugins目錄下面,其中src目錄只保留幾個頭文件便可,外面目錄,去掉main.cpp 代碼
改造ulua 或者slua 或者 tolua# 在初始化lua虛擬機的時候,調用luaopen_profiler 打開性能測試庫
在lua腳本代碼裏面,初始化庫,每幀率寫入日誌
最後將日誌文件中的數據,用python之類的進行分析便可。