발더스 게이트 3 3막, CPU 성능에 대규모로 타격 – 그런데 왜?

발더스 게이트 3 3막, CPU 성능에 대규모 타격 - 왜?

지난 주에 우리의 주요 Baldur’s Gate 3 컨텐츠가 ‘드롭’된 직후에, 댓글들 중에서는 게임을 계속 진행할수록 성능 특성이 변경된다는 의견들이 많았습니다. 얼리 액세스 베테랑들은 특히 세 번째 액트에 대한 구체적인 테스트를 원했고, Twitter 사용자 DarknessFX에 의해 우리에게 부여된 게임 세이브 덕분에 99시간 세이브에 접근할 수 있었으며, 스트레스 테스트 성능 테스트에 들어갈 준비가 되어 있었습니다.

그래서, 세 번째 액트가 무엇이 특별한 걸까요? 간단히 말해서, 이것은 모두 밀도에 관한 것입니다. 행동이 Baldur’s Gate 자체로 이동되며, 시리즈의 로어에서 큰 도시인 Baldur’s Gate에 많은 NPC들이 있는 도시로 변화합니다. 지난 주에 나의 핵심 리뷰에서, 중간 사양의 PC들이 인구 밀집 지역에서 고생한다는 것을 알았으며, 도시를 달리는 것만으로도 NPC의 수가 훨씬 더 많이 존재한다는 것을 보여줍니다. 이곳의 밀도는 CPU 부담을 상당히 늘리는데, 그 결과로 다른 문제들을 강화시킨다고 생각합니다. 이는 초기 작업에서는 보이지 않았던 문제들입니다.

세 번째 액트에서 더 무거운 성능의 이상한 점 중 하나는 움직임이 게임을 시각적으로 CPU에 더 무겁게 만든다는 것입니다. 특정 정지 장면에서, Core i9 12900K에서 90fps의 프레임률을 확인했지만, 캐릭터를 미니 서클로 움직이는 것만으로도 성능이 20% 감소했습니다. 화면의 보기와 오브젝트의 양은 본질적으로 동일하지만, 프레임률은 낮아지고, 더 중요한 것은 프레임 시간이 불안정해진다는 점입니다.

혹시 Baldur’s Gate 3의 가장 도전적인 지역에서 최고급 및 주류 CPU들이 어떻게 작동하는지 확인하려면 이것을 확인해보세요.

세 번째 액트에서 발견된 또 다른 문제는 컷씬이나 대화로의 카메라 전환입니다. 이것은 이 지역에서 일관되게 발생하는 것입니다. 컷씬으로 전환할 때 CPU 사용량이 일반적으로 높아지지만, 세 번째 액트에서 CPU 부담이 일반적으로 더 높아져 대화로 진입하는 동안의 일시적인 멈춤이 현저하게 더욱 심해졌습니다. 그러나 세 번째 액트에서 발견되는 힘든 장면들에서 가장 눈에 띄는 영향은 일반적인 프레임 시간의 안정성 – 또는 ‘프레임 헬스’라고 부르는 것 – 에 따라 나타납니다. 이것은 임베디드 비디오에서 시각적으로 더 잘 설명됩니다만, 프레임 시간이 50%에서 100%까지 증가할 수 있을 때, 이는 버벅임으로 나타납니다. 이에 더해 도시에서 발생하는 지진들 – 각각의 지진은 프레임 시간에 여러 큰 스파이크를 동반하며, 인지할 수 있는 버벅임처럼 나타납니다.

렌더링 API의 선택도 역할을 할 수 있습니다. Vulkan에서는 게임이 NPC가 많이 있는 지역에서 DirectX 11보다 비슷하거나 더 나빠지는 방식으로 작동합니다. 따라서, Vulkan은 기술적으로 Nvidia나 AMD 하드웨어에서 비어있는 지역에서는 더 빠르게 작동할 수 있지만, 많은 NPC가 있는 지역에서는 실제로 12900K에서 10% 정도 더 나빠집니다.

이것은 최고급 프로세서이지만, Ryzen 5 3600과 같은 주류 프로세서에 대한 영향은 솔직히 말해서 파괴적입니다. 성능은 처음에 50% 감소하지만, 프레임 시간은 훨씬 더 나빠집니다. 12900K에는 몇몇 프레임 시간 스파이크와 약간의 지터가 있지만, Ryzen 5 3600은 훨씬 더 나쁩니다. 거의 모든 다른 프레임이 눈에 보이는 길이의 차이를 보여주기 때문에 평균적으로 30fps 정도로 작동하지만, 전혀 부드럽게 보이지 않습니다. 한 프레임에서 다음 프레임으로 프레임 시간이 40%에서 50% 증가한다면, 그것은 평탄화될 수 없는 것을 의미합니다. 즉, FreeSync와 G-Sync가 여기서 도움이 되지 않습니다.

어제의 주류 챔피언들은 Baldur’s Gate 3의 세 번째 액트에서는 부적합합니다. Core i9 12900K는 거의 두 배 빠르며, 프레임 시간 스파이크가 훨씬 줄어듭니다. 우리는 여기서 DX11을 사용하고 있지만, Vulkan은 실제로 두 프로세서 모두에서 더 나빠집니다 – 심지어 AMD GPU와 함께 사용할 때도 그렇습니다.

심지어 더 나빠질 수도 있습니다. 세 번째 액트에서 소서러로 플레이하고 소환 생물을 여러 개 사용한다면 어떨까요? 12900K에서 성능이 10% 감소하고, 더 불규칙한 프레임 시간이 발생합니다. 몇 프레임마다 한 프레임은 다른 프레임들보다 더 비용이 많이 드는데 – 이는 경로 탐색, 애니메이션 또는 AI 업데이트가 될 수도 있습니다. 물론 확실하지 않지만, Ryzen 5 3600과 같은 오래된 중간 사양 칩에서는 몇 프레임마다 이 AI 업데이트가 증폭되어 비극적인 결과를 초래합니다. 프레임률 숫자는 단지 6% 감소한다는 것을 시사하지만, 프레임 시간은 50% 증가할 수 있으므로 부드럽지 않게 움직이게 됩니다. 세 번째 액트는 정말로 괴물이며, 오래된 Zen 2 칩은 이 작업에 대응할 수 없는 것 같습니다.

그래서, 특히 3막을 조사해보라는 요청은 정당했습니다. Baldur’s Gate 3는 그냥 훨씬 더 안 좋은 성능을 보여주는데 – 하지만 이러한 성능 저하는 애초에 CPU 제한 때문에 더욱 설명이 되는 것입니다. 그리고 당신이 할 수 있는 것은 별로 없습니다. 절대 최하 설정에서도, 평균 성능이 약 14% 정도 향상되는 것을 볼 수 있습니다. 프레임 시간은 약간 덜 불규칙적이지만, 여전히 그 모든 지진은 큰 프레임 시간 스파이크를 일으키고, 이제 세부 수준의 피해로 인해 시각적 풍부함의 많은 부분을 잃게 됩니다. Vulkan은 여기서 도움이 될까요? 사실은 그렇지 않습니다. Vulkan은 성능에 약간의 피해를 줍니다 – DX11이 여전히 가장 좋은 방법입니다.

30fps 제한, 어떨까요? 내장된 프레임 속도 제한은 v-sync가 활성화되면 일관성 없는 프레임 페이싱을 생성하며, 심지어 Nvidia의 안정적인 반속 v-sync 제어 패널 옵션도 CPU 제한으로 인해 약간의 스파이크 프레임 시간을 보입니다. 하지만 이것은 더 일관성이 있으므로, 이와 같은 옵션 또는 Kaldien의 SpecialK 제한기와 같은 것을 살펴볼 가치가 있을 것입니다.

이러한 성능은 정당한 것이며 고칠 수 있을까요? 그 질문에 대답하기 위해, 코어와 쓰레드의 양과 성능의 상관 관계를 살펴볼 수 있습니다. Core i9 12900K를 살펴보면, 다양한 코어와 쓰레드 수에서 게임이 어떻게 실행되는지 조사할 때 흥미로운 데이터를 볼 수 있습니다. 여기서 가장 성능이 좋은 조합은 실제로 하이퍼스레딩이 꺼진 8개의 코어입니다. 8개의 코어는 6개보다 4% 정도 더 좋은 성능을 보이며, 전체 활성화된 12900K는 6개 코어 결과보다 단지 2% 정도 더 좋은 성능을 보입니다. 쓰레드와 사용 가능한 코어 수를 두 배로 늘렸음에도 불구하고요. 하이퍼스레딩이 활성화된 8개의 p-코어는 모든 결과 중에서 가장 나쁜 결과입니다. 6개 코어 결과보다 조금 느립니다.

내 생각에는 이 스케일링이 나에게 보여주는 것은, Baldur’s Gate 3가 많은 코어 프로세서의 활용을 더욱 개선해야 한다는 것입니다. (아마도 사용자가 BIOS 수준에서 하이퍼스레딩을 꺼내지 않을 것이라는 사실을 이해하는 것도 필요합니다.) 또한 지진과 카메라 위치 변경으로 인한 버벅임을 줄이는 데 초점을 맞추는 것도 환영받을 만합니다.

또한 Vulkan은 여전히 의문입니다. CPU 성능을 개선하지 않는다면 가장 필요한 때에는 그 목적이 없어지는데, 좋고 성능 좋은 Vulkan 구현은 CPU 제한 문제를 해결하는 데 필요한 기반이 될 수 있습니다. 이 모든 것을 고려하면, Ryzen 5 3600과 같은 Zen 2 아키텍처를 사용하는 PlayStation 5 버전이 어떻게 선보일지 흥미롭게 볼 것입니다.