[Unity] Coroutine Delayed Calls
- 유니티
- 2018. 8. 27. 01:33
프로파일러에서 Coroutine Delayed Calls 때문에 프레임이 드랍되는 경우
코루틴의 IEnumerator 에서 while 문이 있다면
yield return new WaitForEndOfFrame();
을 남발하지 않았는지 확인해봐야 합니다.
코루틴을 생성하면 소량의 가비지가 할당되기 때문에 남발하면 딜레이콜이 생기게 됩니다.
이런 경우
WaitForEndOfFrame delay = new WaitForEndOfFrame();
이렇게 while문 밖에다가 변수를 선언하고
while (isRun)
{
yield return delay;
}
이런식으로 반복문을 돌려주어야 딜레이콜이 적당히 생기게 됩니다.
'유니티' 카테고리의 다른 글
[C#] Vector3.Zero 란? (0) | 2018.08.27 |
---|---|
[유니티] 랜덤 시드 부여하기 (0) | 2018.08.27 |
[유니티] 프로젝트 2개 이상 실행하기 (0) | 2018.08.18 |
[Unity] 해상도 조절 함수 (0) | 2018.08.13 |
[Unity] StopCoroutine이 먹히지 않을 때 (0) | 2018.08.08 |
이 글을 공유하기