(유니티3D)비동기 씬 로딩에 대해3
학교 마지막 날 교수님께 비동기 장면씬 로딩에 관해 물어봤는데 코루틴에 넣어서 하면 될 거라고 하시더군요.
실제로 비동기 장면씬 로딩에 대해 글 쓴 블로그들을 보면 모두 예시로 코루틴를 써서 활용하고 있긴 합니다.
그리고 저는 단순 로딩만을 위한 스크립트라서 그냥 업데이트에서 로딩을 진행했고요.
그래서 혹시나 해 바로 코루틴으로 바꿔 보았고 기대하며 실행을 해보았지만!
결과는 다르지 않았습니다.
여전히 0 -> 99를 거치고 끝나더군요.
그런데 오늘 개선점들을 적용하고 폰에 넣어 테스트해보니 로딩 과정이 눈에 보였습니다!
동전도 돌고 프로그레스바도 제대로 차올랐습니다.
정말로 코루틴이 답이었던 걸까요?
그래서 다시 코드를 업데이트로 옮기고 폰으로 실행해 봤습니다.
그런데 여전히 로딩이 잘 되는 것을 확인할 수 있었습니다!
아마 개선 과정에서 약간 규모가 커져 컴퓨터에선 너무 빨라 안 보였던 중간 과정이 폰에선 눈에 보이게 된 거 같습니다.
모바일 특성상 빌드 후 옮기고 확인을 해야하는 점 때문에 자주 확인하지 못하여 코루틴 덕분인 것으로 착각한 거였습니다.
어쨌든 업데이트는 안되고 코루틴은 되는 그런 경우는 생기지 않았습니다.
개인적으로 업데이트는 일종의 주 스레드 개념이고 코루틴은 멀티 스레드 개념으로 이해하고 있었는데 만약 이게 차이를 줬다면 한 동안 코루틴에 대해 파고 있었을겁니다.
정말로 영향을 안 주는지는 모르겠지만 적어도 제가 보고 비교했을 때는 둘의 차이가 거의 전혀 없었습니다.
좀 엉망진창이지만 원하던 결과를 얻어서 다행이네요. 그리고 컴퓨터에서 안 보이던 것은 결국 너무 로딩이 빨라서였던 것으로 생각해도 될 것 같습니다.
그리고 폰에서 이리저리 씬을 이동하면서 알게 된 건데 로딩 바가 온전히 차오르는 모습을 보여준 것은 게임 장면으로씬으로 넘어갈 때뿐이었습니다.
아마 게임씬만이 유일하게 다량의 오브젝트, 애니메이션, UI, 스크립트 등 많은 정보가 있고 불러와야 하기에 그런 것 같습니다.
다른 씬으로 갈 때는 동전이 빙글빙글 도는 것은 정상적으로 보여 로딩 도중 멈추지 않았다는 것은 알 수 있지만 13%에서 멈춰있다가 99%를 거의 전혀 거치지 않고 씬이 전환 되는 모습을 확인할 수 있었습니다.
추측으로는 13%가 UI 관련을 불러오는 부분인 거 같습니다. 게임씬 외엔 UI밖에 없으니까요.
'Icicle Game (2D) > 발전' 카테고리의 다른 글
1.02버전 업데이트 (0) | 2017.12.11 |
---|---|
패치 예정 (0) | 2017.12.11 |
(유니티3D)OnCollisionEnter/Stay/Exit 사용시 주의점 (0) | 2017.12.11 |
(유니티3D)비동기 씬 로딩에 대해2 (0) | 2017.12.08 |
(유니티3D)비동기 씬 로딩에 대해 (0) | 2017.12.08 |