GPU'lar neden oyuna özel sürücüler gerektiriyor?


30

PC GPU sürücü güncellemeleri, genellikle yeni çıkan belirli oyunların performansında yapılan iyileştirmelerden bahseder. Bu oyuna özgü güncelleme neden gerekli? Oyuna özgü değişiklikler oyun koduyla nasıl etkileşime giriyor?

Yanıtlar:


31

Birkaç yıllık sürücü gelişimi olan biri olarak bunu iki ayrı konu olarak görüyorum.

Bir grafik sürücüsü çok karmaşık bir canavardır. Her şeyi en iyi şekilde uygulamak, sadece imkansız bir iş olacaktır; Sadece teknik özelliklere uyan bir sürücüyü yapmak için yeterince büyük bir engel - ve teknik özellikler gittikçe daha karmaşık hale geliyor. Bu nedenle sürücünüzü teknik özelliklere ve bir avuç test uygulamasına göre geliştirirsiniz (çoğu durumda henüz gerçek bir yazılım yoktur ).

Boyunca gerçek bir oyun (veya benchmark veya sürücü için video kod çözme gibi diğer bazı kullanım durumları) sürücüde bir darboğaz ortaya çıkaran geliyor. Gittiğinizde, işleri nasıl yumuşatacağınıza ve bu durumu daha hızlı hale getireceğinize karar verdiniz. Oyun XYZ'nin% 27,3 daha hızlı olduğunu kolayca bildirebilirsiniz, ancak gerçekte kullanım durumunun (örneğin, dinamik doku güncellemesi) söylediği her uygulama daha hızlı hale gelir.

Daha sonra, çirkin tarafı, uygulama başına gerçek optimizasyonlar vardır, burada sürücü hangi uygulamanın çalıştırıldığını (veya hangi gölgelendiricinin derlendiğini) algılar ve genel olmayan bir şey yapar. Bunun gibi çok sayıda kamuya açık durum vardı, örneğin, 3dmark çalıştırılabilirini yeniden adlandırmak aniden sonuçları değiştiriyor.

Bu tür optimizasyonların herkesin zamanının boşa harcandığını hissediyorum - kıyaslama durumunda müşterilerinize yalan söylüyorsunuz ve bir gölgelendiricinin geliştiricinin gerçekte istediklerinden davranış şeklini değiştirebilirsiniz. Bir gölgelendiricinin, doku aramasından, gölgelendiricinin içindeki bir hesaplamaya (yalnızca söz konusu üreticinin donanımı için çalıştığı) yakın olan, ancak aynı sonuç olmayan bir durum olduğunu hatırladım ve geliştirici bunun yasal olmadığını söyledi optimizasyonu.


2
+1 ve bu kabul edilen cevap olmalıdır; Kesin durumu ve içeriden bakış açısını tanımlamak için iyi bir iş çıkarır. Sanırım bahsettiğin bu davayı biliyorum - belki de hesaplama? ;)
Maximus Minimus

14

İdeal bir dünyada olmazlardı.

Ancak bu ideal bir dünya değil, oyuna özgü performans iyileştirmeleri aşağıdakilerden bir veya daha fazlasından gelebilir (ayrıntılı bir liste olması amaçlanmadı):

  • Oyun A, B ve C işlemlerini X, Y ve Z set durumlarıyla birlikte yapıyor. Sürücü, buna dayanarak varsayımlarda bulunabilir ve işleri daha uygun bir kod yoluna itebilir.

  • Oyun hiçbir zaman I, J veya K işlemlerini yapmaz. Yine, sürücü, bu işlemlerin asla gerçekleştirilmediğini varsaymaya dayanarak daha uygun bir kod yolu seçebilir.

  • Oyun bazı şeyleri hafifçe (ya da çok az değil) en iyi şekilde yapar. Sürücü bunu bilir, çağrıları durdurur ve daha iyi çalışacak bir şeyi (umarım!) Eşdeğerine dönüştürür.

  • Oyuna özgü değişimler yapılabilir; Örneğin , oluşturma durumlarının bu kombinasyonu yavaş giderse sorun değil, çünkü bu kombinasyonun daha hızlı gitmesi daha önemlidir, bu nedenle buna göre en iyi duruma gelelim.

Bunlardan hiçbirinin aslında "gerekli" olmaması gerektiğini burada belirtmek önemlidir. Hem sürücü hem de oyunun API kullanımı uygun olduğu sürece, işler iyi çalışmalıdır. Ancak bazen, maksimum performans elde edebilmek için özel durum değişimleri uygun görülebilir. Bunun iyi bir şey olup olmadığına dair yorum yapmaktan kaçınacağım.


1
GPU sürücü yazarlarına bazen popüler oyunların gölgelendiricilerini dikizlemeleri ve donanımları için optimize edilmiş kendi sürümlerini yazmaları, sürücünün orijinal gölgelendiricilerin sessizce yerini alacağı söylendi.
Nathan Reed

9
@NathanReed Bir zamanlar, bundan daha ileri gitti. Anizotropik Filtreleme ve doku sıkıştırma pahalı olduğu zaman, GPU şirketleri, gerçek zamanlı çalıştırıldığında, ucuz bir monitörle kimseyi uyarmadan daha hızlı hale getirmek için nihai ürünün görsel kalitesini düşürme yollarını kullanacaklardı. oyun çok daha kötü görünüyordu. Hatta PrintScreen'e yapılan aramalara müdahale eder ve resim için tam kaliteli bir render yaparlar.
Norguard

8
GPU üreticileri ayrıca popüler ölçütleri aldatmayı sever. Aynı dergideki aynı ayarları iki kez aynı sistemde yaptıkları bir PC dergisinden kıyaslama testi olduğunu hatırlıyorum. Fakat bir keresinde, sürücünün tanımayacağı şekilde kıyaslamanın çalıştırılabilirliğini yeniden adlandırdılar. İlginç bir şekilde, yeniden adlandırılan yürütülebilir dosyadaki skor, özellikle ATI ve nvidia kartları için daha da kötüydü.
Philipp

8

Oyun geliştiricileri GPU'ların sınırlarını zorluyor. Bir oyunla oyun motoruna benzetme yapabiliriz. Oyunun gereksinimleri ne kadar gelişmişse, oyun motorunun onu desteklemesi için o kadar ileri olması gerekir. Bu, grafik kartlarıyla aynıdır.

Bilgisayar oyunları ve GPU üreten iyi yatak arkadaşıdır. GPU'yu geliştirmek ve birlikte oyunu geliştirmek için birlikte çalışmak en iyisidir. Bu donanım adamları ilişkisi ile çalışan klasik yazılım adamları. Her iki taraf da, yazılım ve donanım arasındaki arayüzü tasarlarken ekleyeceği bir şey var. Bu arayüz sürücüdür.

Bu güncellemeler, yazılım adamlarının bulduğu hata düzeltmelerini veya donanım adamlarının yazılım adamlarının gereksinimlerini desteklemek için yaptıkları geliştirmeleri içerebilir. Bu ilişkiyi her yerde bulacaksın.

Muhtemelen belirli oyunları sürücü güncelleme sürüm notlarına dahil etmenin arkasındaki sebep PR'dir. Bu sadece kart üreticisinin X oyun Y ile gerçekten iyi çalışacağını göstermiyor, aynı zamanda Y oyununun öncekinden daha iyi olacağını gösteriyor.


6

Oyun geliştirme ekibinin , sürücü hatası düzeltilmediyse oyunun düzgün çalışmamasına neden olacak bir GPU sürücü hatasıyla karşılaşması olası .

Aynı zamanda bazen bir pazarlama hilesi . Örneğin, ATI / AMD kısa süre önce Dirt 3'ün bir kopyasını yeni GPU'ları ile birlikte aldı ve bu oyunda 3 monitörle Eyefinity ile oynama fikrine itti.

Yani orada biraz sembiyoz var.

GPU satıcısı: Hey! Bu yeni özellik! Kimse kullanmıyor!

Oyun geliştiricisi: Biz bunu kullanabiliriz! Oyunumuzu bu özelliği kullanan GPU'nuzla paketleyin.

GPU satıcısı: Cehennem ya!


1

Gerçek şu ki, GPU'lar oyuna özgü sürücüler gerektirmez .

Oyuna özgü sürücüler GPU üreticileri tarafından diğer GPU üreticileri üzerinde üstünlük sağlamak için yapılan pazarlama çabalarının bir parçasıdır. Popüler oyunlarda daha iyi performans gösterebiliyorlarsa, sürücülerini bu özel oyunlar için özel olarak ayarladılarsa, o zaman (teori geçerli) bu oyunlardan daha fazla oyuncu çekiyorlar.

Hepsi bu kadar var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.