public void Update() { // データはナノ秒で撮れるので、ミリ秒に変換して記録 var time = _recorder.GetElapsedNanoseconds() / 1000000F; _graph.Update(time); }
/// <summary> /// PlayerLoopの計測結果をミリ秒に変換して保存する /// </summary> private void PlayerLoopUpdate() { // 計測結果を受け取る 秒で帰ってくる float allTime = PlayerLoopProfiler.GetLastExecuteTime(); float scriptUpdateTime = PlayerLoopProfiler.GetProfilingTime <Update.ScriptRunBehaviourUpdate>() + PlayerLoopProfiler.GetProfilingTime <PreLateUpdate.ScriptRunBehaviourLateUpdate>() + PlayerLoopProfiler.GetProfilingTime <FixedUpdate.ScriptRunBehaviourFixedUpdate>() + PlayerLoopProfiler.GetProfilingTime <Update.ScriptRunDelayedDynamicFrameRate>(); float animationTime = PlayerLoopProfiler.GetProfilingTime <PreLateUpdate.DirectorUpdateAnimationBegin>() + PlayerLoopProfiler.GetProfilingTime <PreLateUpdate.DirectorUpdateAnimationEnd>(); float physicsTime = PlayerLoopProfiler.GetProfilingTime <FixedUpdate.PhysicsFixedUpdate>(); float renderTime = PlayerLoopProfiler.GetProfilingTime <PostLateUpdate.FinishFrameRendering>(); // ミリ秒に変換 _loopScriptData.Update(scriptUpdateTime * 1000f); _loopAnimationData.Update(animationTime * 1000f); _loopPhysicsData.Update(physicsTime * 1000f); _loopRenderData.Update(renderTime * 1000f); _loopOtherData.Update(allTime * 1000f); }
/// <summary> /// メモリ使用量の記録 /// </summary> private void MemoryRecordUpdate() { _heapMemoryGraph.Update(Profiler.GetMonoHeapSizeLong() / SizeMegaByte); _usedMemoryGraph.Update(Profiler.GetMonoUsedSizeLong() / SizeMegaByte); }