Unity 6.3
0 онлайн 0 гостей 3 в системе
Вход

Recorder.elapsedNanoseconds

Declaration

public long elapsedNanoseconds;

Описание

Накопленное время пары Начало/Конец для предыдущего кадра в наносекундах. (Только чтение)

Долгосрочные операции (например, на потоке предварительной загрузки) могут не заканчиваться в одном кадре. В этом случае elapsedNanoseconds рассчитываются до конца кадра, так что вы всегда можете видеть активность для этих операций.

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); } }

Используйте elapsedNanoseconds для получения времен кодов, помеченных 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); } }

В синхронных измерениях, не связанных с изменением кадра, elapsedNanoseconds становится ненулевым значением только после отключения записи.