Unity Performance Optimization-profiler

Source: Internet
Author: User

Unity built-in Profiler Profiler, Xcode analysis tools

Profiler:

1.CPU Usage:
Waitfortargetfps:vsync (vertical sync) function, which displays the CPU wait time of the current frame
Overhead:profiler overall time-the sum of the recording time for all items. Used to record unclear time consumption to help further refine profiler statistics.
Physics.simulate: CPU elapsed time for the physical simulation of the current frame.
Camera.render: CPU Usage for camera rendering readiness
Rendertexture.setactive: Sets the Rendertexture action.
Bottom-level implementations:

1. Compare the Colorsurface and depthsurface of the current frame to the previous frame.
2. If these two buffer matches do not generate a new RT, otherwise a new RT is generated, and the corresponding viewport and spatial transformation matrices are set.
Monobehaviour.onmouse_: Input message reception and feedback used to detect the mouse, mainly including: Sendmouseevents and dosendmouseevents. (As long as the edtor is open, this will exist.)
Handleutility.setviewinfo: In editor only, the function is to match the display in the GUI and editor to the display of the published version.
Gui. Redraw of the Repaint:gui (indicating that there is a native Ongui in use)
Event.internal_makemastereventcurrent: Responsible for GUI's message delivery
Cleanup Unused Cached data: empties useless cache data, mainly including Renderbuffer garbage collection and textrendering garbage collection.
1.rendertexture.garbagecollecttemporary: In Renderbuffer garbage collection, clear the temporary freetexture.
2.textrendering.cleanup:textmesh Garbage Collection Operations
Application.integrate Assets in Background: Traverse the pre-loaded thread queue and complete the load, complete the loading of the textures, substance update, and so on.
Application.loadlevelasync integrate: Load the CPU of the scene, usually if this time is long 70% of the likelihood is caused by the texture too long.
Unloadscene: Unloads gameobjects, component, and Gamemanager in the scene, typically when switching scenes.
Collectgameobjectobjects: While executing the above m items, the Gameobject and component in the scene are aggregated into an array. Then execute the destroy below.
Destroy: Remove CPU Usage for Gameobject and component.
Assetbundle.loadasync Integrate: Multithreading loads the content in Awakequeue, which is the awakefromload function for multithreaded execution of resources.
Loading.awakefromload: Called after the resource has been loaded, each resource is processed against its application.


2.GPU Usage:
Device.Present:device. The time-consuming display of presentframe, which appears in the release version.
Display and vertical synchronization on the Graphics.PresentAndSync:GPU is time consuming. This option appears in the release version.
The rendering of the vertex Buffer object for mesh in Mesh.DrawVBO:GPU is time consuming.
Shader.parse: The parsing process of the engine to Shader after the resource joins.
Shader.creategpuprogram: Build GPU Engineering based on the graphics library supported by the current device.

3.Memory Profiler
Used total: The sum of the current frame's unity memory, mono memory, gfxdriver memory, profiler memory.
Reserved Total: The system requests memory at the current frame.
Total System Memory Usage: The amount of virtual RAM used for the current frame. (usually 1.5~3 times we currently use memory)
Gameobjects in scene: The number of gameobject in the current frame scene.
Total Objects in scene: The number of objects in the current frame scene (except Gameobject, component, etc.).
Total Object count:object data + Asset Quantity

4.Detail Memory Profiler
Texture2d: Records the texture resources used in the current frame memory, including textures for various gameobject, Sky box textures, and lightmap resources used in the scene.
Scene Memory: Records the footprint of all aspects of the current scene, including Gameobject, resources used, various components, and Gamemanager, which are not shown here in the case of assetbundle loading.
Managedheap.usesize: The heap memory allocation that is caused by the code at run time, indicating the amount of heap storage allocated by the last GC to date.
Webstream: This is a memory footprint that is loaded by www.
System.executableanddlls: Different platforms and different hardware will not get the same value.

Unity Performance Optimization-profiler

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.