You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.5 KiB
70 lines
1.5 KiB
namespace Mapbox.Unity.Utilities
|
|
{
|
|
using Mapbox.Unity.Map;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using UnityEngine;
|
|
|
|
public class MapVisualizerPerformance : MonoBehaviour
|
|
{
|
|
private Stopwatch _sw = new Stopwatch();
|
|
private AbstractMap _map;
|
|
private AbstractMapVisualizer _mapVisualizer;
|
|
public int TestCount = 10;
|
|
private int _currentTest = 1;
|
|
[NonSerialized]
|
|
public float TotalTime = 0;
|
|
private float _firstRun;
|
|
|
|
protected virtual void Awake()
|
|
{
|
|
TotalTime = 0;
|
|
_currentTest = 1;
|
|
_map = FindObjectOfType<AbstractMap>();
|
|
_mapVisualizer = _map.MapVisualizer;
|
|
|
|
_mapVisualizer.OnMapVisualizerStateChanged += (s) =>
|
|
{
|
|
if (s == ModuleState.Working)
|
|
{
|
|
_sw.Reset();
|
|
_sw.Start();
|
|
}
|
|
else if (s == ModuleState.Finished)
|
|
{
|
|
_sw.Stop();
|
|
if (_currentTest > 1)
|
|
{
|
|
TotalTime += _sw.ElapsedMilliseconds;
|
|
UnityEngine.Debug.Log("Test " + _currentTest + ": " + _sw.ElapsedMilliseconds);
|
|
}
|
|
else
|
|
{
|
|
_firstRun = _sw.ElapsedMilliseconds;
|
|
}
|
|
|
|
if (TestCount > _currentTest)
|
|
{
|
|
_currentTest++;
|
|
Invoke("Run", 1f);
|
|
}
|
|
else
|
|
{
|
|
if (_currentTest > 1)
|
|
{
|
|
UnityEngine.Debug.Log("First Run: " + _firstRun + " \r\nRest Average: " + TotalTime / (_currentTest - 1));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
public void Run()
|
|
{
|
|
//TODO : FIX THIS ERROR
|
|
//_map.Reset();
|
|
}
|
|
}
|
|
} |