Unity3d中的Profiler我們一般都是在Editor模式上去觀看性能消耗數據的,但是它也可以直接在真機設備上運行游戲中查看的,導出真機鏈接Unity3d的Profiler看數據,這樣能更好的測試具體原因。
這里只說下安卓的做法,看了下官方的文檔,主要有2種方法,(1)是通過wifi鏈接,(2)是通過安卓的adb工具鏈接。2種方法都試成功了!
一:WiFi做法,這個方法需要電腦所在的網絡和手機所在的網絡在同一子網下才能進行。 (這里有2個稍微不同的方法)
首先把你手機的wifi給鏈接上。
方法一:
這種方法是要在知道自己鏈接的wifi的ip情況下才行的,感覺是不是不太好,沒關系,第二種方法完美解決這問題
(1)導出U3D項目的時候勾選Development Build,Autoconnect Profiler,然后安裝游戲到手機。

(2)打開游戲的時候,同時打開window->profiler,然后選擇選擇輸入IP,連上即可。

方法二:
(1)導出U3D項目的時候勾選Development Build,Autoconnect Profiler,然后選擇Build And Run。
(2)打開window->profiler,這時候你就會看見它自動鏈接上了我們的手機。

二:ADB的做法。
注意防火牆是否屏蔽掉了54998~55511端口,若屏蔽就打開
(1)用USB把你的手機和電腦連接起來,確保已經連接成功,在電腦上可以看見你的手機信息。
(2)導出U3D項目的時候勾選Development Build,Autoconnect Profiler,然后選擇Build And Run。
(3)打開window->profiler,選擇AndroidProfiler(ADB@127.0.0.1:54999)
。unity將會自動創建adb通道。
如果您想分析另外一個程序。可以這樣設置:打開CMD命令行,cd到adb根目錄,也可以直接設置環境變量,在Path欄中加入adb的路徑。
( 我的adb在 D:\Program Files\Java\android-sdk-windows\sdk\platform-tools)
然后輸入以下命令:
adb forward tcp:54999 localabstract:
Unity-這里加你的包名(即Bundle Identifier)
例如:adb forward tcp:54999 localabstract:Unity-com.itffuture.protobuf

成功的效果圖:

如果你在測試的時候連接不上,且保證防火牆沒有屏蔽我們要連接的端口,報錯:

那你在導出的時候勾選下 Enable Internal Profile就可以

現在你就可以更加准確的查看性能的消耗數據了。