Unity3D性能消耗分析器_第1页
Unity3D性能消耗分析器_第2页
Unity3D性能消耗分析器_第3页
Unity3D性能消耗分析器_第4页
Unity3D性能消耗分析器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分析器(仅专业版) Profiler (Pro only)Date:2012-02-25 04:56The Unity Profiler helps you to optimize your game. It reports for you how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating or in your game logic.Unity分析器可以帮助你优化你的游戏。它为您报告在你的游戏的各个领域所花费的时间。例如,它可以报告渲染、动画或在你的游戏逻辑花费时间的百分比。You can play your game in the Editor with Profiling on, and it will record performance data. The Profiler window then displays the data in a timeline, so you can see the frames or areas that spike (take more time) than others. By clicking anywhere in the timeline, the bottom section of the Profiler window will display detailed information for the selected frame.在编辑器中,你可以将你的游戏在分析器运行着的状态下运行,它会记录性能数据。 分析器窗口,在时间轴上显示数据,所以你可以看到帧或区域峰值(比其他需要更多的时间)。在时间轴中的任何地方按一下,分析器窗口的底部区域会显示选定的帧的详细信息。Note that profiling has to instrument your code. This instrumentation has a small impact on the performance of your game. Typically this overhead is small enough to not affect the game framerate. When using profiling it is typical to consider only the ratio (or percentage) of time spent in certain areas. Also, to improve performance focus on those parts of the game that consume the most time. Compare profiling results before and after code changes and determine the improvements you measure. Sometimes changes you make to improve performance might have a negative effect on frame rate; unexpected consequences of code optimization should be expected.请注意,分析时必须检测你的代码。这检测会对你的游戏性能有小小影响。通常情况下,这种开销是足够小,不会影响游戏的帧率。当使用分析时,它是典型的考虑时间花费在某些领域的比例(或百分比)。此外,为了提高性能,重点在游戏消耗的时间最多的那些部分。代码更改前后比较分析结果,并确定您测量的改进。有时,您所做的更改来提高性能,可能对帧速率有负面影响;应预计代码优化的意外的后果。Profiler windowAttaching to Unity players 附加到Unity播放器To profile your game running on an other device or a player running on another computer, it is possible to connect the editor to that other player. The dropdown Active Profiler will show all players running on the local network. These players are identified by player type and the host name running the player iPhonePlayer (Toms iPhone). To be able to connect to a player, the player must be launched with the Development Build checkbox found in the Build Settings dialog. From here it is also possible to tick a checkbox to make the Editor and Player Autoconnect at startup.要分析你的游戏运行在其他设备上或者在另一台计算机上运行的播放器,可以连接编辑器到其他播放器。Active Profiler下拉菜单显示在本地网络上运行的所有播放器。这些播放器通过播放器的类型和运行播放器的主机名iPhonePlayer(Toms iPhone)被识别。要能够连接到一个播放器,播放器必须在 Build Settings对话框中找到Development Build 复选框勾上的情况下打包生成。从这里也可以勾选一个复选框,使编辑器和播放器在启动时自动连接。Profiler Controls 分析器控件Profiler controls are in the toolbar at the top of the window. Use these to turn profiling on and off, navigate through profiled frames and so on. The transport controls are at the far right end of the toolbar. Note that when the game is running and the profiler is collecting data clicking on any of these transport controls will pause the game. The controls go to the first recorded frame, step one frame back, step one frame forward and go to the last frame respectively. The profiler does not keep all recorded frames, so the notion of the first frame should really be though of as the oldest frame that is still kept in memory. The current transport button causes the profile statistics window to display data collected in real-time. The Active Profiler popup menu allows you to select whether profiling should be done in the editor or a separate player (for example, a game running on an attached iOS device).分析器控件在窗口顶部的工具栏。使用这些控件打开和关闭分析,浏览分析好的帧等。传输控件在工具栏的最右端。请注意,当游戏运行、分析器收集数据时,点击任何这些传输控件(那两个小箭头)将暂停游戏。控件转到记录的第一帧,一步一帧向前(左箭头),一步一帧向后(右箭头),分别去到最后一帧。分析器不保留所有记录的帧,因此第一帧的概念,事实上应该是仍然保存在内存中的最旧的一帧。 current按钮会使得分析统计窗口显示实时采集的数据。激活分析器(Active Profiler)弹出菜单让你选择是否应在编辑器或一个或独立播放器进行分析(例如,一个游戏运行在iOS设备)。Deep Profiling 深度分析When you turn on Deep Profile, all your script code is profiled - that is, all function calls are recorded. This is useful to know where exactly time is spent in your game code.当你打开深度分析(Deep Profile),所有脚本代码将被分析 - 也就是说,所有的函数调用被记录。知道确切在你的游戏代码中花费的时间,这是有用的。Note that Deep Profiling incurs a very large overhead and uses a lot of memory, and as a result your game will run significantly slower while profiling. If you are using complex script code, Deep Profiling might not be possible at all. Deep profiling should work fast enough for small games with simple scripting. If you find that Deep Profiling for your entire game causes the frame rate to drop so much that the game barely runs, you should consider not using this approach, and instead use the approach described below. You may find deep profiling more helpful as you are designing your game and deciding how to best implement key features. Note that for large games deep profiling may cause Unity to run out of memory and so for this reason deep profiling may not be possible.注意深度分析(Deep Profiling)会造成非常大的开销,并使用大量的内存,结果你的游戏在分析同时运行明显变慢。如果您使用的是复杂的脚本代码,深度分析可能不会完全有效。深度分析为使用简单的脚本的小游戏工作足够快。如果您发现您的整个游戏在深度分析时运行,导致帧速率下降很多,以至于游戏几乎不能运行,你应该考虑不采用这种方法,而是使用下面描述的方法。您可能会发现深度分析更有利于设计你的游戏,并确定如何最好地实现关键特性。注意深度分析,对于大型游戏可能会导致Unity耗尽内存,基于这个原因,深度分析未必有效。Manually profiling blocks of your script code will have a smaller overhead than using Deep Profiling. Use Profiler.BeginSample and Profiler.EndSample scripting functions to enable and disable profiling around sections of code.手动分析脚本代码块比使用深度分析产生更小的开销。使用Profiler.BeginSample和Profiler.EndSample函数,启用和禁用分析代码段(从Profiler.BeginSample 到Profiler.EndSample间的代码)。View SyncTime 查看SyncTimeWhen running at a fixed framerate or running in sync with the vertical blank, Unity records the waiting time in Wait For Target FPS. By default this amount of time is not shown in the profiler. To view how much time is spent waiting, you can toggle View SyncTime. This is also a measure of how much headroom you have before losing frames.当运行在一个固定的帧率或带垂直空白同步运行,Unity在Wait For Target FPS记录等待时间,默认情况下,该段时间没有显示在分析器。要查看等待花费多少时间,您可以切换View SyncTime。这也是衡量多少余量你之前丢失帧。Profiler Timeline 分析器时间轴The upper part of the Profiler window displays performance data over time. When you run a game, data is recorded each frame, and the history of the last several hundred frames is displayed. Clicking on a particular frame will display its details in the lower part of the window. Different details are displayed depending on which timeline area is currently selected.分析器窗口的上部显示随着时间的推移的性能数据。当您运行游戏,每一帧数据被记录,最后则会显示几百帧的历史。点击一个特定的帧上,该帧的细节将显示在窗口的下部。具体取决于当前选定的时间轴区域显示不同的细节。The vertical scale of the timeline is managed automatically and will attempt to fill the vertical space of the window. Note that to get more detail in say the CPU Usage area you can remove the Memory and Rendering areas. Also, the splitter between the timeline and the statistics area can be selected and dragged downward to increase the screen area used for the timeline chart.时间轴的垂直刻度是自动管理,并尝试填补窗口的垂直空间。请注意,要获得更多关于CPU的使用率(CPU Usage)的细节,您可以删除内存(Memory )和渲染(Rendering )区域。此外,时间轴和统计区域之间的分离器能被选择和向下拖动,为时间轴图表增加屏幕面积。The timeline consists of several areas: CPU Usage, Rendering and Memory. These areas can be removed by clicking the close button in the panel, and re-added again using the Add Area drop down in the Profile Controls bar.时间轴包括几个方面:CPU使用率,渲染和内存。这些区域可以在面板上按一下关闭按钮删除和 在分析控件(Profile Controls)工具栏中使用Add Area 下拉菜单再次重新添加。CPU Usage Area (CPU使用率 区域)The CPU Usage area displays where time is spent in your game. When it is selected, the lower pane displays hierarchical time data for the selected frame.CPU使用率区域显示你的游戏在哪里花费时间。当这个区域被选中,下部窗格中显示选定的帧层次化的时间数据。 Hierarchy mode:Displays hierarchical time data.层级模式(Hierarchy mode):显示层次化的时间数据。 Group Hierarchy mode:Groups time data into logical groups (Rendering, Physics, Scripts etc.). Because children of any group can be in different group (e.g. some script might call rendering functions), the percentages of group times often add up to more than 100%. (This is not a bug.)组层级模式(Group Hierarchy mode):成逻辑组的组时间数据(渲染(Rendering ),物理(Physics),脚本(Scripts )等)。因为任何组的子成员,可在不同的组(例如一些脚本可能调用渲染功能),组时间的百分比往往加起来超过100。 (这不是一个错误。) The way the CPU chart is stacked can be reordered by simply dragging chart labels up & down.CPU的使用率(CPU Usage)图表堆叠方式,可以通过简单的上下拖动图表标签进行重新排序。When an item is selected in the lower pane, its contribution to the CPU chart is highlighted (and the rest are dimmed). Clicking on an item again de-selects it.当在下部窗格中选择一个项目,对应到CPU的使用率(CPU Usage)图表上会高亮显示(和其余部分为灰色)。再次点击这个项目就会取消选择。Shader.SetPass is selected and its contribution is highlighted in the chart.Shader.SetPass被选中,图表中高亮显示。In the hierarchical time data the self time refers to the amount of time spent in a particular function not including the time spent calling sub-functions. In the screenshot above, for example 51.2% of time is spent in the Camera.Render function. This function does a lot of work and calls the various drawing and culling functions. Excluding all these functions only 0.8% of time is spent actually in the Camera.Render function.在分层的时间数据的自我时间(self time)指花费在特定函数的时间,不包括调用子函数所花费的时间。在上面的截图,例如51.2的时间花费在Camera.Render函数。这个函数做了很多工作,并调用各种绘图和剔除的函数。实际上排除了所有这些功能只有0.8的时间花费在Camera.Render函数。Rendering Area 渲染区域The Rendering area displays rendering statistics. The Number of Draw Calls, Triangles and Vertices rendered is displayed graphical in the timeline. The Lower pane displays more rendering statistics and these more closely match the ones shown in the GameView Rendering Statistics window.渲染区域显示渲染统计数据。Draw Calls,三角形和顶点渲染数量,在时间轴上显示以图形的方式。下部窗格中显示更多渲染统计数据,这些数据与在游戏视图渲染统计数据窗口显示的数据相匹配。Memory Area 内存区域The Memory area displays some memory usage data:内存区域显示一些内存使用的数据: Total Allocated is the total RAM used by the application. Note that in the Unity Editor this is memory used by everything in the editor; game builds will use much less.总分配(Total Allocated )是应用程序所使用的总内存。请注意,在Unity编辑器,这是在编辑器中的一切使用的内存;游戏构建后将使用少得多的内存。 Texture Memory is the amount of video memory used by the textures in the current frame.纹理内存(Texture Memory )是在当前帧中纹理占用的显存大小。 Object Count is the total number of Objects that are created. If this number rises over time then it means your game is creating some objects that are never destroyed.对象数(Object Count)是所创建的对象的总数。如果这个数字随时间不断上升,那么它意味着你的游戏在不断创造一些从不销毁的对象。 Audio Area 音频区域The Audio area displays audio statistics:音频区域显示音频统计数据: Playing Sources is the total playing sources in the scene at a specific frame. Monitor this to see if audio is overloaded.播放源(Playing Sources)是在特定的帧,场景上播放源的总数。监视此,看看音频是否被重载。 Paused Sources is the total paused sources in the scene at a specific frame.暂停源(Paused Sources )是在特定的帧,场景上暂停源的总数。 Audio Voice is the actually number of audio (FMOD channels) voices used. PlayOneShot is using voices not shown in Playing Sources.音频声音(Audio Voice)是实际使用音频(FMOD频道)声音的数量。 PlayOneShot使用的是不会显示在播放源(Playing Sources)的声音。 Audio Memory is the total RAM used by the audio engine.音频内存(Audio Memory )音频引擎所使用的内存总量。 CPU usage can be seen in the bottom. Monitor this to see if Audio alone is taking up too much CPU.在底部可见的CPU使用率。监察这,看看音频是否单独占用太多的CPU。Physics Area 物理学区域The Physics area shows the following statistics about the physics in the scene:-物理学区域显示下列有关场景物理学的统计: Active Rigidbodies is the number of rigidbodies that are not currently sleeping (ie, they are moving or just coming to rest).Active Rigidbodies是指当前活动的刚体数(也就是说,他们正移动或仅刚刚静止)。 Sleeping Rigidbodies is the number of rigidbodies that are completely at rest and therefore dont need to be updated actively by the physics engine (see Rigidbody Sleeping for further details).Sleeping Rigidbodies是指哪些静止的刚体数,因此,不需要物理引擎主动更新(详情参见Rigidbody Sleeping)。 Number of Contacts is the total number of points of contact between all colliders in the scene.Number of Contacts(接触点数)是指场景中的所有接触点的总数。 Static Colliders is the number of colliders attached to non-rigidbody objects (ie, objects which never move under physics).Static Colliders(静态碰撞器)是指附加到非刚体物体的碰撞器数量(也就是说,物体从来不会在物理作用下移动)。 Dynamic Colliders is the number of colliders attached to rigidbody objects (ie, objects which do move under physics).Dynamic Colliders(动态碰撞器)是指附加到刚体物体的碰撞器数量(也就是说,物体可以在物理的作用下移动)。GPU Area (GPU区域)The GPU profiler is similar to the CPU profiler with the various contributions to rendering time shown as a hierarchy in the bottom panel. Selecting an item from the hierarchy will show a breakdown in the panel to the right.GPU分析器类似于CPU分析器,关于渲染时间的不同贡献,在底部面板作为层级显示。从层级选择的项目会显示在右边的面板细分。Please note that on the Mac, GPU profiling is only available under OSX 10.7 Lion and later versions.请注意在Mac,GPU分析器仅在OSX 10.7 Lion或更高版本可用。See Also 参见 Optimizing Graphics Performancepage.优化图形性能页面iOSRemote profiling can be enabled on iOS devices by following these steps:iOS设备上启用远程分析可以通过以下步骤:1 Connect your iOS device to your WiFi network (local/adhoc WiFi network is used by profiler to send profiling data from device to the Unity Editor).您的iOS设备连接到WiFi网络(分析器使用本地/adhoc WiFi网络发送分析数据,从设备到Unity的编辑器)。 2 Check Autoconnect Profiler checkbox in Unitys build settings dialog.在Unity的构建设置(build settings)对话框中的,勾上复选框自动连接分析器(Autoconnect Profiler)。 3 Attach your device to your Mac via cable and hit Build & Run in Unity Editor.通过数据线将您的设备连接到你的Mac,在Unity编辑器中点击Build Run。 4 When app launches on device open profiler window in Unity Editor (Window-Profiler)当应用程序在设备上启动,在Unity的编辑器打开分析器窗口(Window-Profiler) If you are using a firewall, you need to make sure that ports 54998 to 55511 are open in the firewalls outbound rules - these are the ports used by Unity for remote profiling.如果使用了防火墙,你必须确保端口54998 到 55511在防火墙的出站规则被打开。这些端口都是Unity远程分析要使用的端口。Note: Sometimes Unity Editor might not autoconnect to the device. In such cases profiler connection might be initiated from Profiler Window Active Profiler drop down menu by select appropriate device.注:有时,在Unity的编辑器可能不会自动连接到该设备。在这种情况下,在分析器窗口的Active Profiler下拉菜单选择相应的设备,分析器连接可以主动发起。AndroidRemote profiling can be enabled on Android devices through two different paths : WiFi or ADB.远程分析可以在Android设备通过两种不同的途径启用:WiFi或ADB。For WiFi profiling, follow these steps:对于WiFi分析,用下列的这些步骤:5 Make sure to disable Mobile Data on your Android device.确保在Andriod设备禁用手机数据。6 Connect your Android device to your WiFi network.连接Android设备到你的Wifi网络。7 Check the Autoconnect Profiler checkbox in Unitys build settings dialog.在Unity编译设置对话框,检查Autoconnect Profiler复选框是否勾选。8 Attach your device to your Mac/PC via cable and hit Build & Run in Unity Editor.通过数据线连接你的设备到电脑,在Unity点击Build & Run。9 When the app launches on the device, open the profiler window in Unity

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论