UE 16

[UE] 언리얼 엔진의 GC

순서가비지 컬렉션 GC란?GC의 동작 원리GC가 보는 참조와 보지 못하는 참조객체 생명주기 관련 포인트GC로 인해 자주 겪는 문제C++의 GC와 UE의 GC 차이가비지 컬렉션 GC란?UObject 기반 객체들의 메모리를 자동으로 정리하는 도달성 기반의 마크-앤-스윕 시스템이다.UObject들 간의 레퍼런스를 따라 도달 가능한 객체는 살리고, 도달 불가능한 객체는 수거함.도달성이란?특정 객체가 아직 사용중이라고 간주할 수 있는지를 뜻함.도달 가능한 객체: 현재 실행 중인 코드에서 경로를 따라 접근할 수 있는 객체 > 살려둠도달 불가능한 객체: 어느 곳에서도 참조하지 않는 객체 > 필요없는 메모리로 판단 > 수거대상GC의 동작 원리루트(Root) 수집엔진이 시작.유지하는 지속적 객체들, AddToRoot()..

Unreal Engine 2025.08.28

[UE] 언리얼의 클래스들

순서GameMode 클래스GameInstance 클래스GameState 클래스PlayerState 클래스GameMode 클래스역할: 게임 규칙과 규칙 실행자특징GameMode는 서버 전용 클래스로 서버에서만 존재하며 클라이언트에서는 존재하지 않음 > 클라이언트에서는 GameState로 동기화만 받도록 함GameMode는 레벨마다 1개만 존재함클라이언트만 있는 싱글 플레이의 경우 클라이언트 프로세스 안에 서버 역할도 함께 실행을 시킴 => 로컬 서버 + 로컬 클라이언트가 같은 프로세스 안에 동시에 존재하는 구조로 로컬 서버 부분에서 GameMode가 생성됨.로컬 클라이언트는 내부적으로 서버가 가진 GameMode의 규칙을 그대로 따름.어떤 플레이어 캐릭터를 사용할지, 플레이어가 어떻게 스폰되지, 점수 규칙..

Unreal Engine 2025.08.28

[UE]언리얼 오브젝트

순서오브젝트란?UObject의 특징주요 UObject 하위 개념오브젝트의 생명 주기Class Default Object란?오브젝트란?모든 클래스의 최상위 Base 클래스임언리얼에서 사용하는 대부분의 것은 UObject를 상속받아 만들어짐.주요 하위 개념언리얼의 리플렉션 시스템, GC, 에디터와의 연동 등을 가능하게 해주는 핵심 클래스임UObject의 특징리플렉션 지원: UCLASS(), UPROPERTY(), UFUNCTION()같은 매크로를 붙이면 언리얼이 해당 객체를 에디터/블루프린트에서 인식할 수 있음.GC: 일반 C++ 포인터 관리와 다르게 UObject 기반 클래스에서 UPROPERTY()로 등록된 포인터는 언리얼의 GC가 추적하여 자동으로 메모리를 관리함에디터 및 블루프린트 통합: UObjec..

Unreal Engine 2025.08.28

[CS] 컨텍스트 스위칭

순서컨텍스트란?컨텍스트 스위칭이란?컨텍스트 스위칭의 과정컨텍스트 스위칭 주의점컨텍스트 스위칭의 비용프로세스 vs 스레드에서의 컨텍스트 스위칭 차이C++/UE 관점레이스 컨디션컨텍스트란?프로세스나 스레드가 실행되던 상태를 말함레지스터 값프로세스 메모리 상태CPU 상태커널에서 관리하는 PCB 정보위 정보들을 저장해뒀다가 나중에 다시 불러오면 마치 중단된 지점에서 다시 이어서 실행되는 것 처럼 보이게 됨.컨텍스트 스위칭이란?CPU가 실행 중인 프로세스나 스레드의 상태를 저장하고, 다른 프로세스나 스레드의 상태로 교체하는 과정운영체제가 멀티태스킹을 지원하기 위해 필수적으로 수행하는 작업즉, 하나의 CPU에서 여러 프로그램 또는 스레드가 동시에 실행되는 것처럼 보이게 하는 핵심 기술컨텍스트 스위칭 과정실행 중인 ..

CS 2025.08.28

[CS]메모리 단편화

순서메모리 단편화란?메모리 단편화의 종류메모리 단편화가 생기는 원인메모리 단편화의 측정과 영향메모리 단편화를 해결하기 위한 방법정리메모리 단편화란?메모리 할당.해제 과정에서 사용 가능한 메모리 블록이 조각나서 요구하는 메모리의 크기의 연속된 공간을 확보하기 어려운 현상.메모리 단편화의 종류내부 단편화(Internal fragmentation)메모리 정렬이나 최소 블록 단위 때문에 실제 필요한 크기보다 더 많이 할당되는 현상예를 들어 3바이트가 필요해도 8바이트 단위로 맞춰서 할당되는 것외부 단편화(External fragmentation)동적 메모리 할당과 해제가 반복되면서 힙 메모리가 잘게 조각나 큰 연속적인 공간을 할당하기 어려워지는 문제작은 객체를 반복적으로 생성/삭제하다가 큰 객체를 생성하려고 하..

CS 2025.08.28