본문 바로가기
이펙트 (FX)/이펙트 팁 : Unreal

[Unreal] d3ddebug GPU 충돌 문제 해결법

by Minkyu Lee 2024. 4. 5.

개요

GPU 충돌시, 아래와 같은 오류가 뜨며 언리얼이 종료되는 문제가 있다.

 

방법

1. window + R을 눌러 실행창을 띄우고 regedit 입력

 

2.  레지스트리 값 만들기

우클릭 - 새로 만들기 - DWORD 32비트 값을 새로 만든다.

만약, 이미 TdrDelay가 있다면 이 과정은 생략한다.

 

3. TdrDelay로 이름짓고 아래와 같이 설정

 

4. 추가사항 (선택)

TdrDelay 외에도, 값을 하나 더 만들기도 한다.

- DWORD 32비트 값을 만든다.

- TdrDdiDelay로 이름 짓고 10진수 60으로 설정한다.

 

5. 재부팅 (필수)

 

원리

  1. TDR가 무엇인가요? TDR은 Windows 운영 체제에서 GPU의 작동 상태를 모니터링하고, 만약 GPU가 응답하지 않거나 작업을 완료하는 데 너무 오랜 시간이 걸릴 경우 시스템의 안정성을 보장하기 위해 GPU를 재설정(recovery)하는 기능입니다. 이것은 보통 "Display driver stopped responding and has recovered"와 같은 메시지로 표시됩니다.

  2. TdrDelay 값을 늘리는 이유는 무엇인가요? TdrDelay 값을 조정하여 Windows에게 GPU가 응답하지 않는 상황이 잠시 동안 발생할 수 있도록 여유 시간을 주는 것입니다. 기본적으로 TdrDelay 값은 2초로 설정되어 있습니다. 이것은 일반적으로 대부분의 상황에서 충분하지만, GPU 집약적인 작업을 하는 경우 더 많은 시간이 필요할 수 있습니다.

  3. 언리얼 엔진과 GPU 작업 언리얼 엔진은 그래픽 처리를 많이 요구하는 작업을 수행할 수 있습니다. 예를 들어, 큰 세계를 렌더링하거나 복잡한 효과를 계산하는 경우 GPU에 부하가 많이 가게 됩니다. 이런 경우 GPU가 TDR을 발생시킬 수 있습니다. 따라서 TdrDelay 값을 늘리면 이러한 크래시를 방지할 수 있고, 언리얼 엔진이 더 많은 시간을 GPU 작업을 처리하는 데 사용할 수 있습니다.

  4. 주의 사항 TdrDelay 값을 늘리면 GPU가 더 많은 시간을 사용할 수 있지만, 만약 GPU가 실제로 고장이 났을 경우에는 이러한 설정으로 크래시가 발생할 수 있습니다. 따라서 이 값은 조정하기 전에 주의해서 변경해야 합니다.

요약하면, TdrDelay 값을 60으로 수정하는 것은 언리얼 엔진이 GPU와의 통신에 필요한 시간을 확보하여 GPU 크래시를 방지하고 시스템의 안정성을 높이는 것을 목적으로 합니다.

 

참고링크

https://diy-multitab.tistory.com/40

 

언리얼 5 d3ddebug GPU 충돌 문제

언리얼 5로 프로젝트를 시작하려던 참에 이런 오류와 마주쳤다. 해당 오류를 만나기 전에 일단 언리얼 5의 최소사양과 부합하는지 그래픽카드 드라이버가 최신인지 확인해보자 1. 그래픽 드라이

diy-multitab.tistory.com

https://www.reddit.com/r/battlefield_4/comments/1xzzn4/tdrdelay_10_fixed_my_crashes_since_last_patch/

 

From the battlefield_4 community on Reddit: TdrDelay = 10 Fixed my crashes since last patch.

Explore this post and more from the battlefield_4 community

www.reddit.com

https://www.youtube.com/watch?v=Vejhv9QmNGM

 

댓글