유니티/프로그래밍
[Unity] 코루틴 가비지컬렉터
송호정
2019. 3. 25. 11:21
반응형
코루틴 시작시 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 ;
}
}
반응형