UPROPERTY()와 언리얼의 가비지 컬렉션 시스템

2022. 3. 21. 03:27·Unreal Engine 4/Unreal Engine 4
반응형

UCLASS()의 멤버로 UPROPERTY()같은 오브젝트가 있을 때, 해당 멤버를 UPROPERTY()로 선언해야 한다.

블루프린트 내에도 편집하지 않을 때도 마찬가지다.

-> 만약, 하지 않으면 TArrray는 제대로 할당되지 않는다.

 

ex)

TArray<FSoundEffect> Greets; <- 잘못된 방식

UPROPERTY() TArray<FSoundEffect> Greets; <- 옳은 방식

 

즉, UPROPERTY()의 선언은 제대로 된 메모리 관리를 받아야 한다는 것을 알려주는 것이다.

 

가비지컬렉션 강제 수행

-> 메모리가 가득 차거나 일부를 비우고 싶을 경우 강제로 가비지 컬렉션을 사용할 수 있다.

-> 보통 강제로 가비지 컬렉션을 수행할 일은 별로 없지만, 더 이상 사용하지 않는 매우 큰 텍스처가 있다면 수행을 검토할 수 있다.

 

방법 : 메모리에서 해제하고 싶은 모든 UObject에 대해 간단히 CoditionalBeginDestory()를 호출하거나 참조 카운트를 0으로 변경한다.

GetWorld()->ForceGarbageCollection(true);

 

중단점과 단계별 코드 실행

break point사용 방법

->Visual studio 기준 라인에 중단점을 심을 라인에 F9또는 코드 라인 왼쪽의 회색 여백 클릭

이 후 Locals 창을 이용해서 변수 확인

 

디버거 : 변수 상태를 포함해 실행 중인 코드의 모든 정보를 확인하게 도와주는 강력한 도구

F10은 코드 한 줄 넘기기다. 한 줄 코드를 실행하며, 다음 줄에서 멈춘다.

 

실행하는데 오래 걸리는 코드 영역을 찾는데는 C++ 프로파일러가 유용하다.(최적화시 도움이 됨)

Debug->Performance Profiler

->Performance Wizard의 도움을 받고, 편집기 없이 게임 실행 -> 일정 시간 후 코드 실행을 멈춰 분석 샘플 수집(1~2분)

 

 

반응형
저작자표시 (새창열림)

'Unreal Engine 4 > Unreal Engine 4' 카테고리의 다른 글

SetLifeSpan을 이용한 일정 시간 후 액터 삭제  (0) 2022.03.21
Destroy와 Timer를 사용한 액터 삭제  (0) 2022.03.21
TScopedPointer  (0) 2022.03.21
TSharedPtr, TSharedRef  (0) 2022.03.21
UObject 파생 클래스를 제거하는 방법  (3) 2022.03.16
'Unreal Engine 4/Unreal Engine 4' 카테고리의 다른 글
  • SetLifeSpan을 이용한 일정 시간 후 액터 삭제
  • Destroy와 Timer를 사용한 액터 삭제
  • TScopedPointer
  • TSharedPtr, TSharedRef
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (303) N
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (46) N
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
UPROPERTY()와 언리얼의 가비지 컬렉션 시스템
상단으로

티스토리툴바