Unreal Engine 5
Unreal Engine 컨테이너 자료구조 정리
STL 대신 자체 컨테이너 사용 이유일단 UE는 왜 STL 대신 자체 컨테이너를 쓸까?라는 근본적인 질문부터 짚고 넘어가고자 한다. 구현 방식만 보면 사실 기본 STL과 방식은 크게 차이가 나는 것 같지 않다.결론부터 말하자면 엔진 특화 요구 사항과 성능, 호환성 목적 때문이다. 단순히 STL이 느려서 그런게 아니라, 게임 엔진이라는 특수환 환경에 최적화된 설계가 필요해서 그렇다. 1. 엔진 전반적인 메모리 관리 통제Unreal의 목적메모리 사용을 정밀하게 추적하고 관리해야 함 (디버깅, 최적화, 플랫폼별 제약 대응)STL은 new, delete, malloc, free 등을 내부적으로 사용하므로 Unreal의 메모리 추적 시스템(FMemory 등)과 완전히 통합되지 않음Unreal 방식Unreal의 컨..
메모리 풀(Memory Pool) vs 오브젝트 풀(Object Pool)
메모리 풀(Memory Pool) vs 오브젝트 풀(Object Pool)게임 개발이나 시스템 프로그래밍에서 성능 최적화를 위해 자주 사용하는 두 가지 기법인 메모리 풀(Memory Pool) 과 오브젝트 풀(Object Pool) 은 비슷해 보이지만 목적과 범위가 다릅니다. 아래에서 각각을 비교하고 차이점을 정리합니다.개념 비교구분메모리 풀 (Memory Pool)오브젝트 풀 (Object Pool)목적메모리 할당/해제 비용 절감객체 생성/파괴 비용 절감관리 대상메모리 블록 (raw memory)실제 객체 인스턴스주요 사용 시점자주 할당/해제되는 메모리 사용이 필요한 경우자주 생성/삭제되는 객체가 있을 경우구현 방식일정 크기의 메모리 블록을 미리 할당하고 재사용미리 생성한 객체들을 재사용하며, 필요 시..