티스토리 뷰
안녕하세요. Base Of Coding입니다.
이번에 배워 볼 내용은, 코루틴을 이용해서, 지정한 시간만큼 업데이트를 하는 코루틴을 만들어보겠습니다.
지금까지 작생했던 글입니다.
시작하겠습니다!
간단한 내용입니다.
Update함수는 매 프레임마다, 해당 함수에 있는 코드를 체크하기 때문에, 오버헤드가 걸릴 가능성이 있습니다.
굳이, 매 프레임마다 체크해서 실행 할 필요가 없다면, 코루틴으로 시간을 지정해서, 체크를 하는 것이 오히려 좋습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | private void Awake() { StartCoroutine(TimeUpdate()); } private IEnumerator TimeUpdate() { while(true) { Debug.Log("안녕하세요."); yield return new WaitForSeconds(0.1f); } } |
이렇게 사용하시면, 0.1초마다 안녕하세요라는 로그를 콘솔창에 출력하는 코루틴입니다.
Update에서, 안녕하세요를 출력시킨다면, 초마다 몇 번이 출력될 지 모르지만, 저렇게 코루틴을 실행한다면?! 0.1초마다 딱 한 번만 출력됩니다!
감이 잘 안오신다구요?
그럼 수치로 한 번 판단해보죠.^^
우리는 로그를 호출하는 데, 그냥 1초에 한 번만 출력하면 된다고 생각하고, 업데이트는, 1초마다 고정으로 3번씩 호출된다는 가정하라고 생각해봅시다.
로그를 호출되는 데, 소모되는 메모리는, 1MB라고 가정하에 생각해볼게요.
1초마다 로그 호출하는 코루틴을 10초정도 실행했다면?!
( 실행횟수 : 10번 ( 1초마다 돌아가는 코루틴에서 로그 호출 * 10초 ) * 1MB = 10MB 소모 )
업데이트로 로그 호출하는 데 10초정도 실행했다면?!
( 실행횟수 : 30번 ( 업데이트에서 로그 호출 3번 * 10초 ) * 1MB = 30MB 소모 )
자 10초동안 20MB의 차이가 납니다. 물론! 로그 하나 호출로 저렇게 절대 차이가 나진 않습니다!ㅎㅎㅎㅎㅎ
10초가 이 정도 차이가 난다면, 100초라면, 약 2000MB가 차이가 나네요??ㅠㅠ 2000MB면, 48MB만 더 소모했다면? 2GB입니다.. 하하핫ㅎㅎ
그냥 쉽게 생각하시라고 가정해봤습니다.
그러니, 굳이 업데이트에서 체크할 필요가 없다면, 코루틴으로 만들어서 체크를 해보시는 것은 어떨까요?ㅎㅎㅎ
지금까지, 코루틴을 이용하여, 지정한 시간만큼 업데이트를 하는 코루틴을 만들어봤습니다.
감사합니다.^^
지금까지 Base Of Coding 이였습니다.
'게임 프로그래밍 ( 이제 안함 ) > Base Of Unity3D' 카테고리의 다른 글
12. Project 창에 대해서 알아보자. (0) | 2020.01.03 |
---|---|
11. Hierarchy View에 대해서 알아보자. (0) | 2020.01.03 |
9. 플랫폼 대응하기 ( Application.platform 또는 #if UNITY_ANDROID ) (0) | 2019.04.16 |
8. 간단하게 씬 이동하기 (0) | 2018.11.09 |
7. Material 생성 및 색 변경,이동 수정 (0) | 2018.11.05 |
- Total
- Today
- Yesterday
- 서블릿
- CSS
- 프리젠테이션 로직
- Vuforia
- unity3d
- c#
- Controller
- 스프링
- 뷰포리아
- MVC
- baseofcoding
- Next.js
- JSP
- Java
- Git
- 안드로이드
- 게임프로그래밍
- Base Of Coding
- 프로그래밍
- 유니티3D
- 유니티로 배우는 C#
- 비지니스 로직
- Spring
- VR
- GitHub
- Servlet
- spring boot
- HTML
- 유니티
- Unity
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |