GPU에 게임 전용 드라이버가 필요한 이유는 무엇입니까?


30

PC GPU 드라이버 업데이트는 종종 최근에 출시 된 특정 게임의 성능 향상을 인용합니다. 이 게임 별 업데이트가 필요한 이유는 무엇입니까? 게임 별 변경 사항이 게임 코드와 어떻게 상호 작용합니까?

답변:


31

몇 년 동안 드라이버를 개발 한 사람으로서 나는 이것을 두 가지 별개의 문제로 본다.

그래픽 드라이버는 매우 복잡한 짐승입니다. 모든 것을 최적의 방식으로 구현하는 것은 단순히 불가능한 일입니다. 실제로 사양을 따르는 드라이버를 만드는 것만으로도 충분히 큰 장애물이며 사양이 점점 더 복잡해지고 있습니다. 따라서 사양과 소수의 테스트 응용 프로그램을 기반으로 드라이버를 개발합니다 (많은 경우 실제 소프트웨어는 아직 없습니다 ).

함께 드라이버에서 병목 현상을 노출시키는 실제 게임 (또는 벤치 마크 또는 비디오 디코딩과 같은 드라이버의 다른 사용 사례)이 제공됩니다. 당신은 일을 부드럽게하고 그 사용 사례를 더 빨리 만드는 방법을 알아냅니다. 게임 XYZ가 27.3 % 빠르다는 것을 쉽게보고 할 수 있지만 실제로는 유스 케이스 (예 : 동적 텍스처 업데이트)가있는 모든 응용 프로그램이 더 빨라집니다.

그런 다음 추악한 측면의 실제 응용 프로그램 별 최적화가 있습니다. 드라이버는 어떤 응용 프로그램이 실행되고 있는지 (또는 어떤 쉐이더가 컴파일되고 있는지) 감지하고 제네릭이 아닌 것을 수행합니다. 예를 들어 3dmark 실행 파일 이름을 바꾸면 갑자기 결과가 변경되는 경우가 많이 발표되었습니다.

이런 종류의 최적화는 모든 시간을 낭비한다고 생각합니다. 벤치 마크의 경우 고객에게 거짓말을하고 개발자가 실제로 원하는 것에서 셰이더의 동작 방식을 변경할 수 있습니다. 셰이더가 텍스처 조회에서 셰이더 계산 (메이커의 하드웨어에서만 작동)으로 변경되었지만 정확히 같은 결과는 아니었지만 개발자는 이것이 합법적이지 않다고 발언했습니다. 최적화.


2
+1이며 이것은 정답입니다. 그것은 정확한 상황을 설명하고 내부 관점에서 훌륭한 일을합니다. 나는 당신이 언급 한 경우를 알고 있다고 생각합니다-아마도 거울 계산? ;)
Maximus Minimus

14

이상적인 세상에서는 그렇지 않습니다.

그러나 이것은 이상적인 세계는 아니므로 게임 별 성능 향상은 다음 중 하나 이상에서 비롯 될 수 있습니다 (전체 목록이 아님).

  • 게임은 상태 A, B 및 C와 상태 X, Y 및 Z가 설정되어 있습니다. 드라이버는이를 기반으로 가정하고보다 최적의 코드 경로로 작업을 진행할 수 있습니다.

  • 게임은 I, J 또는 K 작업을 수행하지 않습니다. 다시 한 번 드라이버는 이러한 작업이 수행되지 않았다고 가정 할 수있는 최적의 코드 경로를 선택할 수 있습니다.

  • 게임은 약간 (또는 약간 그렇지 않은) 차선책으로 일을합니다. 운전자는이 사실을 알고 통화를 가로 채서 더 잘 작동하는 것으로 변환합니다.

  • 게임 별 트레이드 오프가 가능합니다. 경우 예를 들어, 그것의 확인 는 것이 더 중요하기 때문에 렌더링 상태의 조합이 느리게가는 조합이가는 빠른 그래서 최적화를 따라 할 수 있습니다.

이 중 어느 것도 실제로 "필수"해서는 안된다는 점에 유의해야합니다. 드라이버와 게임의 API 사용이 모두 준수되는 한 작동합니다. 그러나 때로는 최대 성능을 추출 할 수있는 특별한 경우의 절충점이 적절하게 보일 수 있습니다. 나는 그것이 좋은지 아닌지에 대해서는 언급하지 않을 것이다.


1
GPU 드라이버 작성자는 종종 인기 게임을 위해 쉐이더를 들여다보고 하드웨어에 최적화 된 자체 버전을 작성하여 드라이버가 원래 셰이더를 자동으로 대체한다고 들었습니다.
Nathan Reed

9
@NathanReed 옛날 옛적에, 그것은 그 이상으로 갔다. 비 등방성 필터링 및 텍스처 압축이 비싸면 GPU 회사는 최종 제품의 시각적 품질을 실시간으로 낮출 때 저렴한 모니터로 경고하지 않고 최종 제품의 시각적 품질을 낮추기 위해 나섰습니다. 게임이 훨씬 나빠 보였습니다. 그들은 심지어 PrintScreen에 대한 호출을 가로 채고 그림에 대한 완전한 품질의 렌더링을 수행했습니다.
Norguard

8
GPU 제조업체는 인기있는 벤치 마크를 속이려고합니다. 같은 시스템에서 동일한 설정으로 동일한 벤치 마크를 두 번 실행 한 PC 매거진의 비교 벤치 마크를 기억합니다. 그러나 한 번은 벤치 마크의 실행 파일 이름을 변경하여 드라이버가 인식하지 못했습니다. 흥미롭게도 이름이 변경된 실행 파일의 점수는 ATI 및 nvidia 카드 모두에서 현저히 떨어졌습니다.
Philipp

8

게임 개발자는 GPU의 한계를 뛰어 넘습니다. 우리는 게임과 게임 엔진에 비유 할 수 있습니다. 게임의 요구 사항이 높을수록 게임 엔진은이를 지원해야합니다. 이것은 그래픽 카드와 동일합니다.

컴퓨터 게임과 GPU 제조업체는 훌륭한 침대 동료입니다. GPU를 개선하여 게임을 개선하기 위해 함께 노력하는 것이 가장 좋습니다. 이것은 하드웨어 사람 관계를 다루는 고전적인 소프트웨어 사람입니다. 양 당사자는 소프트웨어와 하드웨어 간의 인터페이스를 디자인 할 때 추가해야 할 것이 있습니다. 그 인터페이스는 드라이버입니다.

이러한 업데이트에는 소프트웨어 사용자가 발견 한 버그 수정 또는 하드웨어 사용자가 소프트웨어 사용자의 요구 사항을 지원하기 위해 수행 한 개선 사항이 포함될 수 있습니다. 이 관계는 온통 찾을 수 있습니다.

드라이버 업데이트 릴리스 노트에 특정 게임을 포함시킨 이유는 PR입니다. 그것은 카드 제조업체 X가 게임 Y와 잘 작동한다는 것을 보여줄뿐만 아니라 게임 Y가 이전보다 훨씬 나아질 것임을 보여줍니다.


6

게임 개발 팀 이 드라이버 버그가 수정되지 않은 경우 게임이 올바르게 작동하지 않는 GPU 드라이버 버그가 발생했을 가능성이 있습니다 .

때로는 마케팅 특수 효과 이기도합니다 . 예를 들어, ATI / AMD는 최근 Dirt 3 사본을 최신 GPU에 번들로 제공 하고이 게임에서 3 개의 모니터로 Eyefinity를 사용하는 아이디어를 추진했습니다.

그래서 그것은 약간의 공생입니다.

GPU 공급 업체 : 이봐! 이 새로운 기능! 아무도 사용하지 않습니다!

게임 개발자 : 우리는 그것을 사용할 수 있습니다! 이 기능을 사용하는 GPU에 게임을 번들로 제공 하시겠습니까?

GPU 공급 업체 : 지옥!


1

사실 GPU 에는 게임 전용 드라이버가 필요 하지 않습니다 .

게임 별 드라이버는 GPU 제조업체가 다른 GPU 제조업체보다 우위를 점하려는 마케팅 노력의 일부입니다. 그들이 특정 게임에 대한 드라이버를 맞춤 조정하여 인기있는 게임에서 더 나은 성능을 발휘할 수 있다면 (이론이 진행됩니다) 더 많은 게임 플레이어를 끌어들입니다.

그것은 거의 모든 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.