본문 바로가기

Unity/팁

[Unity 유니티] Update 를 Coroutine 으로 최적화 하기

유니티의 Update문은 매 프레임마다 실행된다.

// Update 함수는 매 프레임마다 실행된다. 60프레임 환경이라면 1초에 60번 실행
private void Update()
    {
        // 실행할 코드
    }

이때 매 프레임마다 꼭 실행할 필요가 없는 함수들,

예를 들어서 n초마다 체력이 닳는 독 시스템, 1초 간격의 타이머 등등

이럴 때, Coroutine을 이용해서 실행 간격을 줄이면 불필요한 호출이 줄어들기 때문에 성능이 더 올라간다.

private float coroutineTime = 1f; // 실행 간격

private void Start()
    {
        StartCoroutine(CountTime());
    }

private IEnumerator CountTime()
    {
        while (true)
        {
            // 실행할 코드
            yield return new WaitForSeconds(coroutineTime);
        }
    }

만약 코루틴을 멈추고 싶다면 StopCoroutine(CountTime()); 을 이용하면 된다.

 

코루틴 매니저를 이용하면 더욱 효율적인 최적화가 가능하다.

코루틴 매니저 관련 글 : https://bo-ni.tistory.com/12