1. call by value vs call by reference

 

 

C#으로 사용하는 Unity에서는 제네릭 함수가 많은데 이때 벨류타입의 제네릭을 많이 사용하게 되면 공유 코드를 사용하지 못할 때 JIT(Just In Time)방식, C#에서 IL(Intermediate Language)라고 중간 언어로 변환을 하는데 유저 코드 자체를 실시간으로 파싱하기 때문에 굉장히 느린데 JIT방식은 중간 형태의 .Net Assembly를 가지고 Target device에 맞게 컴파일 하기 때문에 인터프리터보다 빠르다. 이렇게 빌드되기 때문에 빌드 사이즈가 커질 수록 시간이 오래 걸린다. 하지만 Faster builds 방식은 이 사이즈와 시간을 감소 시킬 수 있지만 런타임 퍼포먼스가 떨어진다.

 

2. Sprite Atlas

sprite가 여러개 있는 경우 Draw Call이 각각의 Sprite마다 실행되는데 Sprite Atlas를 사용하는 경우에는 이 Draw Call이 하나로 묶여서 실행된다.

 

※Layer로 오브젝트들을 묶어주게 되면 이 또한 하나로 묶어서 DrawCall이 발생한다.

+ Recent posts