반응형

코루틴 시작시 StartCouroutine() 소량의 가비지가 쌓인다 
또한 yield 구문에서 불필요한 힙할당으로 가비지가 쌓이는경우가 있습니다.

아래 예입니다



1. yield return 0; 

   0 의값은 변수가 박싱처리되기 떄문에 박싱시 가비지를 생성하게됩니다

   그래서 yiedl return null 사용하는게 좋다


2. yield return new waitfForSeconds(1f);

아래 경우 반복문을 돌때마다 waitfForSeconds 를 생성하고 삭제하기떄문에 가비지가 생성됩니다.


 IEnumerator co_ChkDieTargetPlayer()

{

        while (true)

        {

yield return new waitfForSeconds(1f);

         }

}



2 경우 개선 

WaitForSeconds waitfor = new WaitForSeconds(1f);

IEnumerator co_ChkDieTargetPlayer()

{

        while (true)

        {

yield return waitfor ;

         }

}



반응형

+ Recent posts