[UNITY] 코드의 실행 시간 측정 - Stopwatch 클래스
2023. 8. 1. 15:52ㆍ유니티
유니티로 게임개발을 하다 보면 최적화가 필요한 경우가 생긴다.
최적화를 하면서 어떤 코드가 더 성능이 좋을지 모르겠으면, Stopwatch 클래스를 통해 직접 확인할 수 있다.
Stopwatch 클래스 사용법
Stopwatch 클래스는 System.Diagnostics 네임스페이스에 존재하기 때문에 using을 해주어야 한다.
using System.Diagnostics;
public class Test : Monobehavier
{
void Start()
{
Stopwatch stopwatch = new();
stopwatch.Start();
//테스트할 코드
stopwatch.Stop();
UnityEngine.Debug.Log(stopwatch.ElapsedMilliseconds); //Start부터 Stop까지 걸린 시간을 ms단위로 출력
}
}
굳이 Debug.Log에 UnityEngine을 붙인 이유는 System.Diagnostics.Debug 클래스가 존재하기 때문이다.

사용예시
실수와 벡터를 곱할 때 식의 순서에 따른 속도를 검사하는 코드이다.
void Start()
{
Stopwatch sw1 = new();
Stopwatch sw2 = new();
sw1.Start();
for (int i = 0; i < 10000000; i++)
{
transform.position += Vector3.one * i * Time.deltaTime;
}
sw1.Stop();
UnityEngine.Debug.Log(sw1.ElapsedMilliseconds + "ms");
sw2.Start();
for (int i = 0; i < 10000000; i++)
{
transform.position += i * Time.deltaTime * Vector3.one;
}
sw2.Stop();
UnityEngine.Debug.Log(sw2.ElapsedMilliseconds + "ms");
}

'유니티' 카테고리의 다른 글
| [UNITY] 베지어 곡선(Bezier Curve) 사용 (0) | 2023.08.18 |
|---|---|
| [UNITY] RquireComponent 어트리뷰트 - 컴포넌트 종속성 추가 (0) | 2023.07.18 |
| [UNITY] Animation Curve (0) | 2023.07.16 |
| [UNITY] 유니티의 Null 확인 - Fake Null (0) | 2023.07.15 |
| [UNITY] Lerp 함수의 활용 (0) | 2023.07.15 |