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.
Hierarchy mode: Displays hierarchical time data.
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.)
The way the CPU chart is stacked can be reordered by simply dragging chart labels up & down.
Selecting Individual Items
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.
Render.OpaqueGeometry is selected and its contribution is highlighted in the chart.
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 41.1% 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 2.1% of time is spent actually in the Camera.Render function. The Time ms and Self ms columns show the same information, but presented in milliseconds. So, Camera.Render takes 0.01ms, but including all the functions it calls, 0.21ms are consumed. The GC Alloc column shows how much memory has been allocated in the current frame, which will be collected later by the garbage collector. By designing your code to keep this value at zero, you can avoid the Garbage Collector from causing hiccups in your framerate.
The Others section of the CPU profiler records the total of all areas that do not fall into Renderer, Scripts, Physics, Garbage Collection or VSync. This includes Animation, AI, Audio, Particles, Networking, Loading, and PlayerLoop.
Physics Markers
The descriptions below provide a brief account of what each of the various high level physics profiler markers mean:
Physics.Simulate: Called from FixedUpdate. This updates the present state of the physics by instructing PhysX to run its simulation.
Physics.Processing: Called from FixedUpdate. This is where all the non-cloth physics jobs are processed. Expanding this marker will show low level detail of the work being done internally in PhysX.
Physics.ProcessingCloth: Called from FixedUpdate. This is where all the cloth physics jobs are processed. Expanding this marker will show low level detail of the work being done internally in PhysX.
Physics.FetchResults: Called from FixedUpdate. This is where the results of the physics simulation are collected from PhysX.
Physics.UpdateBodies: Called from FixedUpdate. This is where all the physics bodies have their positions and rotations updated as well as where messages that communicate these updates are sent.
Physics.ProcessReports: Called from FixedUpdate. This stage is run once the physics fixed update has concluded and is where all the various stages of responding to the results of the simulation are processed. Contacts, joint breaks and triggers are updated and messaged here. There are four distinct sub stages:
Physics.TriggerEnterExits: Called from FixedUpdate. This is where OnTriggerEnter and OnTriggerExit events are processed.
Physics.TriggerStays: Called from FixedUpdate. This is where OnTriggerStay events are processed.
Physics.Contacts: Called from FixedUpdate. This is where OnCollisionEnter, OnCollisionExit and OnCollisionStay events are processed.
Physics.JointBreaks: Called from FixedUpdate. This is where updates and messages relating to joints being broken is processed.
Physics.UpdateCloth: Called from Update. This is where updates relating to cloth and their skinned meshes are made.
Physics.Interpolation: Called from Update. This stage deals with the interpolation of positions and rotations for all the physics objects.
Performance Warnings
There are some common performance issues the profiler is able to detect and warn you about. These warnings appear in the warning column of the lower pane, when viewing the CPU Usage.
A profiler warning indicating that static colliders have been moved.
In the screenshot above, the profiler is showing the Static Collider.Move warning. The warning column shows that this warning has been triggered 12 times in the current frame. The term “Delayed Cost” means that although the entry in the profiler may show a low cost (in this case 0.00ms) the action may trigger expensive operations later on.
Profiler window
Rendering Area
By clicking “Accept Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts.
Privacy Preference Center
Your Opt Out Preference Signal is Honored
Your Privacy
Functional Cookies
Performance Cookies
Targeting Cookies
Strictly Necessary Cookies
Your Privacy
When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.
More information
Functional Cookies
Active
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.
Performance Cookies
Active
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Targeting Cookies
Active
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Some 3rd party video providers do not allow video views without targeting cookies. If you are experiencing difficulty viewing a video, you will need to set your cookie preferences for targeting to yes if you wish to view videos from these providers. Unity does not control this.
Strictly Necessary Cookies
Always Active
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.