2022년 2월 17일
Unity 2021에서는 IL2CPP 스크립팅 백엔드를 사용할 때 속도를 높이기 위해 여러 사항을 개선했습니다. 코드 실행 속도를 현저히 높일 수 있는 주요 변경 사항을 자세히 살펴보겠습니다.
2021년 12월 15일
Full Generic Sharing을 사용하면 테스트하기 쉬운 명료한 코드를 작성할 수 있습니다. 어떻게 스크립팅 오류를 제거하고 모바일 기기와 콘솔 등의 플랫폼에서 코드가 보다 예상대로 작동하도록 할 수 있는지 알아보세요.
2016년 8월 11일
많은 프로그래밍 언어가 그러하듯 C#에서는 스택(stack)(작고 "빠르며" 범위가 정해진 메모리 블록)이나 힙(heap)(크고 "느린" 광역 메모리 블록)에 객체용 메모리를 할당할 수 있다. 일반적으로 힙에 객체용 공간을 할당하는 것이 스택에 공간을 할당하는 것보다 훨씬 더 많은 비용이 소요된다. 또한 힙에 객체용 공간을 할당한 경우 할당된 메모리를 가비지 컬렉터(garbage collector)에서 추적하는 작업이 수반되기 때문에 추가 비용도 발생한다. 따라서 가급적이면 힙 할당을 피하는 것이...
2016년 8월 4일
가상 함수 호출은 runtime에서 반드시 완료해야 하는 호출이다. 컴파일러는 코드를 컴파일할 때 어떤 함수가 호출될지 알지 못한다. 그래서 컴파일러는 각 계층에 맞게 (가상 테이블(vtable)이라는) 일련의 함수를 생성한다. 누군가가 이 함수 중 하나를 호출하면 runtime이 vtable에서 적절한 함수를 찾아서 호출한다. 그러나 문제가 생겼는데 vtable에 호출할 수 있는 가상 함수가 하나도 없는 경우에는 어떻게 될까?
2016년 7월 26일
최신 컴파일러는 런타임 코드 성능을 개선하기 위한 각종 최적화 수행에 탁월하다. 개발자로서 우리는 코드에 관한 정보를 컴파일러에 명시하여 컴파일러 성능을 향상시킬 수 있다. 오늘은 IL2CPP의 마이크로 최적화 중 한 방법을 비교적 자세히 다루고 기존 코드의 성능 개선에 어떤 도움이 될지 살펴보겠다.
2015년 12월 23일
void Update() {
transform.Translate(0, 0, Time.deltaTime);
}
하지만 숙련된 개발자는 위의 코드에서 몇몇 의문이 들 수 있습니다.
이 함수는 도대체 언제 호출되지?
만약, 여러개의 스크립트가 있고 그 스크립트들 모두에 Update()를 정의 해놨으면, 어떤 순서로 스크립트들이 호출되지?
이런 코드 스타일은 인텔리센스하게 동작되지 않아.