elapsedNanoseconds
Accumulated time of Begin/End pairs for the previous frame in nanoseconds. (Read Only)
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Property
- Namespace: UnityEngine.Profiling
- Assembly: UnityEngine.CoreModule
public long elapsedNanoseconds { get; }
Remarks
Long-lasting operations (for example, on a preloading thread) might not end within a single frame. In this case, elapsedNanoseconds is calculated until the end of the frame, so you can always see activity for these operations.
using UnityEngine;using UnityEngine.Profiling;public class ExampleClass : MonoBehaviour{ Recorder behaviourUpdateRecorder; void Start() { behaviourUpdateRecorder = Recorder.Get("BehaviourUpdate"); behaviourUpdateRecorder.enabled = true; } void Update() { if (behaviourUpdateRecorder.isValid) Debug.Log("BehaviourUpdate time: " + behaviourUpdateRecorder.elapsedNanoseconds); }}
Use elapsedNanoseconds to retrieve timings of a code tagged with ProfilerMarker.Auto.
using UnityEngine;using UnityEngine.Profiling;public class Example{ public static void TimeSynchronousMethodWithMarkers() { var recorder = Recorder.Get("MyMarker"); recorder.enabled = true; // Start measurements // Call method which uses MyMarker // MyMethod(); recorder.enabled = false; // Stops measurements and makes data available immediately Debug.Log("MyMarker total time, ns: " + recorder.elapsedNanoseconds); }}
In synchronous measurements that don't involve a frame change, elapsedNanoseconds only becomes a non-zero value after the Recorder is disabled.