ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [UE5] Development Editor에서 효과적으로 디버깅하는 방법
    UE5 2025. 1. 17. 14:19

    UE5와 같은 큰 프로젝트에서는 Debug 모드에서 컴파일을 하게 되면 굉장히 속도가 느리다.

     

    따라서 Development 모드에서 컴파일을 하되, 특정 매크로를 사용하면 해당 코드에 관하여 원활히 디버깅을 할 수 있다.

     

    PRAGMA_DISABLE_OPTIMIZATION / PRAGMA_ENABLE_OPTIMIZATION

     

    디버깅을 하고 싶은 코드 앞뒤로 해당 매크로를 지정해주면 된다.

     

    1. 디버깅을 위해

    • 컴파일러 최적화(O1, O2, O3, Os, Oz 등)가 적용되면 일부 코드가 최적화되거나 제거될 수도 있음.
    • 특히 디버깅 중 변수 값이 이상하게 보이거나, 특정 코드가 실행되지 않는 것처럼 보이는 문제를 방지하기 위해 사용.
    • 최적화를 끄면 컴파일러가 코드를 변경하지 않고 그대로 유지하므로, 디버깅이 더 쉬워짐.

    2. 특정 코드의 실행 순서를 보장하기 위해

    • 최적화가 활성화되면 컴파일러가 코드 실행 순서를 변경하거나, 불필요한 코드를 제거할 수 있음.
    • 메모리 배리어(Memory Barrier) 역할을 하는 경우가 있음.
    • 예를 들어, CPU 캐시 동기화나 멀티스레드 환경에서 특정 연산이 삭제되지 않도록 방지할 수 있음.

    3. 언리얼 엔진의 성능 프로파일링(Profiling)

    • 언리얼 엔진에서 성능 프로파일링을 할 때, 특정 코드 블록만 최적화를 비활성화하면 더 정확한 성능 측정이 가능.
    • PRAGMA_DISABLE_OPTIMIZATION을 걸어두면 그 구간의 코드를 컴파일러가 변경하지 않으므로, 실제 실행되는 형태를 유지할 수 있음.

    'UE5' 카테고리의 다른 글

    [week5] PixelShader - Fog  (1) 2025.04.04
    [week2] Texture Rendering  (1) 2025.03.20
    [CG] 레스터라이저 상태(Rasterizer State)  (1) 2025.01.15
    [UE5] .uproject, Target.cs, Build.cs  (0) 2025.01.13
    [UE5] 게임플레이 이펙트의 활용  (1) 2025.01.07
Designed by Tistory.