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就可以

现在你就可以更加准确的查看性能的消耗数据了。