inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

7강 언리얼 C++ 설계 I - 인터페이스

Compiling changes for live coding

302

mayong0707

작성한 질문수 14

0

안녕하세요 강사님.

강사님 강의를 통해 언리얼 c++ 입문한 학생입니다.

언리얼에서 c++클래스를 추가할 때마다 Compiling changes for live coding이 시간이 너무 오래 걸리는 상황이 많습니다. 그래서 Cancele하고 7강 전까지 학습을 했었습니다. 근데 "Compiling changes for live coding"완료하지 않으면 Person 클래스가 생성이 안돼서 10분 정도 걸려서 완료했더니 Person클래스가 생성 됐습니다. visual studio에서 빌드할 때도 최소 4~5분정도 걸리는 것 같아요. 컴퓨터 성능은 충분한데 왜 그런가요? 빌드에 소요되는 시간을 단축시키는 방법이 없을까요?

unreal-engine 언리얼-c++

답변 2

0

이득우

저의 경우에도 가끔 비상식적으로 느리게 동작하는 때가 있는데,
이런경우 엔진과 비주얼스튜디오를 다 끄고, 다시 시작합니다.
그래도 해결이 안되면 프로젝트 초기화도 하는데, 초기화하는데 인텔리센스까지 업데이트하기에 꽤 오래걸립니다. 하지만 문제가 수정되면 코딩이 빨라지기 때문에, 그 사이에 할 일을 생각해두거나 잠시 쉬는 등의 대책을 하나 마련해두면 좋습니다. ㅎㅎ

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

mayong0707님의 질문에 답변드리겠습니다.

언리얼 엔진에서 C++ 클래스를 추가하거나 수정할 때마다 발생하는 ‘Compiling changes for live coding’ 시간이 오래 걸리는 현상은 개발 환경, 프로젝트의 크기 및 복잡성, 그리고 사용 중인 컴퓨터의 사양에 따라 달라질 수 있습니다. 이러한 컴파일 시간을 단축시키기 위해 몇 가지 방법을 제안드리겠습니다.

  1. 프로젝트 설정 최적화: 프로젝트의 빌드 설정을 최적화하여 컴파일 시간을 줄일 수 있습니다. 예를 들어, ‘Unity Build’와 ‘Incremental Build’ 옵션을 활용하는 것이 좋습니다. Unity Build는 여러 소스 파일을 하나의 큰 파일로 합치는 방식으로 컴파일 시간을 대폭 줄일 수 있으며, Incremental Build는 변경된 부분만을 다시 컴파일하여 시간을 절약할 수 있습니다.

  2. 코드 구조 최적화: 자주 변경되는 코드를 모듈화하여 각각 독립된 DLL로 관리하면, 전체 프로젝트를 재컴파일 할 필요 없이 해당 모듈만 다시 컴파일하면 되므로 시간을 절약할 수 있습니다.

  3. 사전 컴파일된 헤더 사용: 자주 사용하는 라이브러리나 헤더 파일을 사전 컴파일된 헤더(Precompiled Header, PCH)로 만들어 사용하면, 해당 헤더를 사용하는 모든 소스 파일에 대한 컴파일 시간을 줄일 수 있습니다.

  4. 하드웨어 업그레이드 고려: 컴퓨터의 CPU 속도, RAM 크기, 그리고 SSD 사용 유무가 컴파일 시간에 큰 영향을 미칠 수 있습니다. 특히, SSD는 HDD에 비해 더 빠른 읽기/쓰기 속도를 제공하여 전반적인 컴파일 속도 향상에 도움을 줍니다.

  5. 병렬 컴파일 활성화: Visual Studio 같은 개발 환경에서는 병렬 컴파일 옵션을 제공하여, 동시에 여러 컴파일 작업을 수행함으로써 컴파일 시간을 줄일 수 있습니다. 설정에서 이 옵션을 활성화하시기 바랍니다.

이 외에도 프로젝트 내 불필요한 애셋 제거, 최신 소프트웨어 버전 사용 등의 방법도 컴파일 시간 감소에 도움을 줄 수 있습니다.

하지만, 제가 제공한 정보는 일반적인 개발 환경 최적화 방안이며 정보 제공 내용과 직접적으로 관련이 없어 mayong0707님의 문제를 구체적으로 해결하기는 제한적입니다. 보다 구체적인 해결책을 찾기 위해선 직접적인 언리얼 엔진 커뮤니티 혹은 관련 개발자 포럼에서 추가 도움을 받는 것을 권장드립니다.

mayong0707님이 빠른 시간 내에 문제를 해결하시길 바랍니다.

저는 저 노란색 미리보기 창이 안뜹니다

0

21

1

강의중에 사용하는 ppt 수업 자료

0

37

1

GetName(), SetName() 함수의 오버로딩 관련 문제 문의드립니다.

0

40

1

언리얼 공부 방법에 대해서 질문드립니다.

0

72

1

컴포지션을 위한 컴포넌트 생성에 관해 질문드립니다.

0

84

2

if (NameProp) 은 if (NameProp != nullptr)이랑 같은 의미인가요?

0

96

2

언리얼 계정 로그인 불가 문제

0

119

2

가비지컬렉션 주기를 짧게 유지하면 어떤 이슈가있을까요?

0

75

2

11강 TArray TSet 에 대해서 질문있습니다.

0

72

1

Unreal 연동 후 Visual Studio 빌드오류 제발 살려주십쇼

0

366

3

언리얼에서 제공하는 스마트 포인터 라이브러리 사용

0

75

2

FGCObject 상속 받은 객체에서 Uobject 삭제를 원할 때

0

80

2

게임 내 인벤토리 데이터를 관리 할 경우, TArray / TSet 무엇이 올바를까요?

0

75

2

8강 컴포지션 중 궁금한 것이 있습니다.

0

56

2

헤더 파일 분리 방법

0

85

2

언리얼 엔진 깃 설치

0

89

2

FObjectInitializer 를 사용한 생성자.

0

96

2

언리얼엔진 에서 새로운 클래스를 생성하면

0

75

2

GetName이 이미있는데용?

0

113

2

TObjectPtr 과 일반 포인터에 대한 용도 질문

0

105

2

UPROPERTY() 다음 라인에서 세미콜론이 입력되지 않습니다.

0

164

1

[18:50] 패키지 저장 시 이미 패키지가 있으면 로딩을 다 하고 저장하는 것이 좋은 이유가 궁금합니다

0

140

2

NonPropStudent가 GC이후 invalid된 이유

0

78

2

[44:22] 커스텀 구조체에서 GetTypeHash() 와 operator== 를 오버로딩 하는 이유에 대한 질문

0

108

2