모바일 환경이고 불규칙적으로 발생하는데 메인쓰레드가 중단되는 것으로 보이는 화면정지+배경음악만 재생되는 상태가 발생.


W'hile(true)로 외부에서 중단시키지 않는 이상 무한하게 반복되는 코루틴이다.


대략적인 코드 구조는

IEnumerator Loop

{

   W'hile(true)

   {

        yield return new WaitForFixedUpdate;

        LoopAction

   }

}

의 형태.


yield return 뒤 조건으로 

1. WaitForFixedUpdate
2. null 

3. WaitForSecondsRealtime(0.02f)

4. WaitUntil(action)
같이 다양한 조건으로 루프 간격을 조절해보거나 


혹은 Update 혹은 FixedUpdate로 루프를 돌려봐도 증상이 개선되지 않음.


루프 행동 하나하나에 다 로그 박아보고 나서야 루프 반복 도중 yield return 실행까지만 메인쓰레드가 살아있고 yield return이 실행되면 프리즈 상태에 빠져버리는 걸 발견.

온갖 개지랄을 다 해봐도 동일하게 yield return 실행 되기 전까지만 로그가 찍히고 프리즈.

Update문은 루프 완료 후 프리즈 되서 다음 Update문까지 못간다.


루프 1회 액션이 상황에 따라 0.02초 보다 오래 걸리기도 하는데 이 반복 작업이 무거워서 그런건지 싶은데 정말 모르겠다.


발생 시점이 불규칙적이라 더 끔찍함 (게임 시작 후 0초 ~ 0000초 까지 발생 시점이 엉망진창이지만 프리즈 전까지 길어봐야 30분)


짐작가는 단서가 뭐가 됐든 좋습니다. 그거 덕분에 해결된다면 햄부기라도 드리겠습니다..