블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2077)
Unity3D (462)
Programming (453)
Unreal (2)
Gamebryo (56)
Tip & Tech (157)
협업 (23)
3DS Max (3)
Game (12)
Utility (97)
Etc (86)
Link (29)
Portfolio (18)
Subject (90)
iPhone (30)
Android (2)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (1)
Memories (16)
Interest (36)
Thinking (29)
한글 (23)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (14)
Exercise (3)
나만의 맛집 (2)
냥이 (7)
육아 (2)
Total1,060,359
Today589
Yesterday344
Statistics Graph

달력

« » 2017.06
        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 29 30  

공지사항

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Optimization Technique :

Let’s take an example, and see why and where we can optimise. Below  Coroutine just waits for the 0.5 sec and then call your desired method.

1
2
3
4
5
6
7
8
9
IEnumerator WaitCoroutine()
 
{
 
yield return new WaitForSeconds(0.5f);
 
// Call your Method here
 
}

 

But every time you call this method “new WaitForSeconds(0.5f)” will allocate memory for the new object, which is not good.

Instead, we should save its reference in Start, and use it when it is required, In this way, we will not allocate memory on every call.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
WaitForSeconds wait;
 
void Start()
{
  wait = new WaitForSeconds(0.5f);
}
  
IEnumerator WaitCoroutine()
{
 
    yield return wait;
 
// Call your Method here
 
}

Never use “yield return 0“, instead of that use “yield return null



[출처] http://www.unitygeek.com/coroutines-in-unity3d/

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by blueasa
TAG

댓글을 달아 주세요

티스토리 툴바