IL 코드를 C++로 변경하는 프로그램
Unity는 C#이라 느리다?
- 아니다.
- Unity는 외부는 C#으로 이루어져 있지만 내부는 C++로 이루어져 있다.
이유
- C#은 C++과 반대로 메모리 관리를 자동으로 해줘서 생산성은 높지만
- C#은 managed memory를 사용해서 GC를 관리하기 때문에 C++보다 성능과 속도가 느릴 수 있다.
원리

- 프로그래머들은 C#을 사용한 스크립팅을 해서 메모리 관리를 자동으로 하고 생산성을 높힐 수 있다.
- 유니티 내부에서 C#을 Mono를 통해서 IL(Intermediatee Language)로 바꾸고 IL2CPP를 사용해서 C++로 바꾼다.
주의사항
- Generic을 사용했을때 주의해야함
- ProjectSetting의 IL2CPP Compiler Generation 수정을 통해 해결 가능
- Faster Runtime : 알 수 없는 제너릭 값 타입은 코드 확장, 알 수 있다면 공유 코드 사용 -> 기존 방식
- Faster (Smaller) Build : 모두 공유 코드 사용 -> 빌드 시간 & 사이즈 감소
참고 자료
https://www.youtube.com/watch?v=-9X965jXrn8
'개발툴 > Unity' 카테고리의 다른 글
| Unity에서 ChatGPT 사용하기 (0) | 2023.10.24 |
|---|---|
| Unity Tilemap을 이용해서 원하는 크기의 격자맵 그리기 (0) | 2023.09.30 |
| Null 레퍼런스 예외 해결방법 (0) | 2023.07.28 |
| <시간 및 프레임 속도 관리> (0) | 2023.07.16 |
| FixedUpdate의 고정된 시간 간격으로 인해 Update와 FixedUpdate의 호출 빈도가 달라지면 성능 문제가 일어나지 않는가? (0) | 2023.07.11 |