
일부 게임에는 컴퓨터의 성능이나 선택한 설정에 관계없이 발생하는 끊김 현상이 있습니다. 이는 “쉐이더 컴파일”로 알려진 프로세스로 인해 발생하며 PC 게임에서 증가하는 문제입니다.
셰이더란 무엇입니까?
셰이더는 렌더링된 그래픽의 다양한 측면을 결정하는 데 도움이 되는 컴퓨터 프로그램입니다. 예를 들어 픽셀 셰이더는 픽셀의 속성을 계산합니다. 여기에는 해당 픽셀의 색상, 밝기, 반사율 또는 투명도가 포함됩니다. 게임에서 뭔가 젖어 보이도록 하려면 손으로 힘들게 작업하는 대신 특수 셰이더를 사용하여 해당 모양을 얻을 수 있습니다.
셰이더는 셰이더 프로그래밍 언어로 표현할 수 있는 모든 것을 실행하도록 설계되었기 때문에 최신 GPU를 매우 유연하게 만드는 요소입니다. GPU가 수행할 수 있는 그래픽 수학 유형이 실리콘에 고정되어 있던 오래된 “고정 함수 파이프라인” GPU 기술을 대체합니다.
셰이더 컴파일이란 무엇입니까?
“컴파일”은 인간 프로그래머가 작성한 코드를 가져와 해당 소프트웨어를 실행하는 특정 프로세서가 이해할 수 있는 기계 코드로 변환하는 것을 의미하는 컴퓨터 용어입니다. 예를 들어 Intel CPU 또는 Apple Silicon에서 실행되도록 코드를 컴파일할 수 있습니다.
GPU에도 같은 것이 필요합니다. 셰이더 코드는 문제의 특정 GPU 브랜드 및 모델에서 실행되도록 컴파일해야 합니다. GPU를 변경하거나 드라이버를 업데이트하거나 게임이 업데이트를 받는 경우 셰이더를 다시 컴파일해야 합니다.
일부 PC 게임에서 셰이더 컴파일이 끊기는 이유는 무엇입니까?
일부 게임에서는 백그라운드에서 셰이더를 컴파일하면 게임 자체를 방해하여 눈에 보이는 끊김 현상이 발생합니다. 컴퓨터가 게임을 원활하게 실행하기 위해 셰이더를 컴파일하는 데 너무 열심히 일하고 있습니다. 일부 개발자는 게임 성능에 거의 또는 전혀 영향을 미치지 않도록 컴파일을 최적화하기 위해 노력하는 반면, 다른 개발자는 장애가 오래 가지 않기를 바라며 셰이더 컴파일을 게임 전체에 퍼뜨립니다. 이 경우 새 레벨을 시작할 때 또는 해당 시점까지 필요하지 않은 셰이더를 사용하는 새 환경에 들어갈 때만 끊김이 발생합니다.
컴파일 버벅거림은 널리 보급되고 인기 있는 게임 엔진인 Unreal Engine 4 게임에서 특히 심했습니다. 특히 이러한 끊김 현상은 DirectX 12에서 게임을 실행할 때 문제가 됩니다. 이것은 부분적으로 DirectX 12가 셰이더 컴파일 작동 방식을 변경하여 개발자의 손에 더 많은 제어권을 부여하기 때문입니다. 그러나 이는 또한 개발자가 가장 뛰어난 최신 버전의 DirectX를 사용하여 셰이더 컴파일을 최적화하는 가장 좋은 방법이 없을 수도 있음을 의미합니다.
콘솔에 셰이더 컴파일이 더듬거리지 않는 이유는 무엇입니까?
셰이더 컴파일 버벅거림은 PS5 및 Xbox Series X|S와 같은 콘솔에는 전혀 없는 문제입니다. 이것은 단순히 개발자가 모든 셰이더를 미리 컴파일할 수 있도록 각 콘솔 내부에 어떤 하드웨어가 있는지 정확히 알고 있기 때문입니다. 목표로 하는 GPU를 이미 알고 있기 때문에 로컬 시스템에서 컴파일할 필요가 없습니다.
PC에서도 가능하지만 GPU와 시스템 구성이 너무 많기 때문에 실용적이지 않습니다. 그러나 Valve Steam Deck의 경우 Valve는 일부 게임에 미리 컴파일된 셰이더 캐시를 포함합니다. 물론 모든 Steam Deck에는 동일한 GPU가 있기 때문입니다.
컴파일 버벅거림에 대해 무엇을 할 수 있습니까?
불행히도 대부분의 경우 개발자는 셰이더 컴파일 문제를 해결해야 합니다. 좋은 소식은 그들이 결국 프로세스를 관리하게 될 것이라는 것입니다. Unreal Engine 5.1에는 개발자가 성능에 심각한 영향을 주지 않고 캐싱하는 데 도움이 되는 자동화 기능이 포함될 수 있습니다.
말더듬을 완화하기 위해 할 수 있는 일의 목록은 길지 않지만 다음 옵션 중 일부가 도움이 될 수 있습니다.
- 게임에서 셰이더를 미리 컴파일할 수 있다면 그렇게 하십시오. 이 작업은 다소 시간이 걸릴 수 있지만 게임 경험은 끊김이 없습니다.
- 게임 업데이트에 셰이더 버벅거림 수정이 포함되어 있지 않는 한 플레이를 마칠 때까지 기다리십시오. 그렇지 않으면 셰이더가 다시 컴파일될 수 있습니다.
- 컴파일이 다시 트리거될 경우를 대비하여 현재 게임을 마칠 때까지 GPU 드라이버 업데이트를 보류하십시오.
- 게임에서 컴파일이 더듬거리기 시작하면 일시 중지 버튼을 누르고 완료될 때까지 기다렸다가 더 플레이하십시오.
- 게임의 DirectX 12 버전 대신 DirectX 11을 사용하십시오. 종종 셰이더 스터터가 줄어들거나 없어지지만 DX12 기능은 할인을 통해 포기하게 됩니다.
- 대신 콘솔에서 게임을 플레이하세요.
시간이 지남에 따라 이 문제는 사라지거나 훨씬 덜 방해가 될 것입니다. 예를 들어 개발자는 셰이더 컴파일을 게임에 필요하지 않은 CPU 코어로 오프로드할 수 있습니다. 이는 코어가 많은 최신 PC에서 흔히 볼 수 있는 상황입니다. 그때까지, #stutterstruggle PC 게임에서 성가신 문제로 남을 것입니다.
관련된: 내 게임이 VRR로 인해 더 나빠 보이는 이유는 무엇입니까?








