Unity中lua內存佔用測試

源碼:python

http://git.oschina.net/liyonghelpme/UnityLuaPerfTestgit

博客:c#

http://www.javashuo.com/article/p-ysaighjr-co.html閉包

lua有一個接口 lua_setallocf 能夠hook 掉lua的內存分配,能夠用來監控lua的內存分配malloc,內存釋放free,以及內存大小調整 realloc.函數

經過這個函數能夠統計當前lua已經分配了佔用了多少內存工具

相似於以前的cpu性能測試,咱們能夠每一幀打印出這個內存佔用,就能夠觀察程序的內存狀態了性能

lua5.1 只支持整個內存統計,可是對於table,number string,閉包等各自佔用多少內存並不知道測試

lua5.2以上版本,能夠支持統計每種不一樣類型數據各自的內存lua

這裏主要對IOS系統作了測試:.net

接入了Lumberjack 日誌庫,在IOS的cache目錄下,Logs目錄中產生內存佔用日誌

要將改代碼嵌入到Unity項目中的Plugins/iOS目錄中

1.主要拷貝Classes 目錄中的日誌庫,

2.LuaP.mm LuaP.hpp 性能統計代碼

3.src 目錄下的lua頭文件

在Unity中,須要修改

1.c#中須要在Lua狀態機啓動的時候,加載咱們實現的luaprofiler 庫

2.lua代碼中,調用咱們的luaprofiler庫函數,setLogPath, start 啓動性能統計工具

3.lua代碼中,unity的update調用的lua函數中,調用writelog ,記錄性能統計日誌

遊戲測試完成以後,將日誌導出,使用python等進行分析

相關文章
相關標籤/搜索