반응형
코루틴 시작시 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 ;
}
}
반응형
'유니티 > 프로그래밍' 카테고리의 다른 글
[Unity] NavMeshAgent.SetDestination 호출후 주의사항 (0) | 2019.03.29 |
---|---|
[Unity] Rigidbody.Addforce 사용 주의 및 Addforce 초기화 (0) | 2019.03.28 |
[Unity] OnTriggerStay() 사용시 주의 (0) | 2019.03.25 |
[Unity] UnityWebRequest 예제 (0) | 2019.02.19 |
[Unity] Raycast Layermask 설정 (6) | 2019.01.31 |