Wygląda na to, że dwoje dużych producentów GPU stale wydaje zaktualizowane sterowniki, które mają niewielki wzrost wydajności tu i tam. Gdy dotyczą tej samej gry, założę się, że z czasem się to sumuje.
Mając to na uwadze, dlaczego nigdy nie słyszymy o poprawianiu sterowników procesorów AMD lub Intel dla określonej aplikacji lub wersji systemu Windows lub czegoś takiego?
Odpowiedzi:
Po pierwsze, czasami zdarzają się przypadki wydania poprawki sterownika, która może zwiększyć wydajność lub wydajność określonego procesora. Ale oczywiście zadajesz to pytanie, ponieważ po prostu nie jest tak powszechne. Jednak optymalizacja sterowników procesora ma podobną koncepcję.
Procesor graficzny to bardzo skomplikowany zespół obwodów. Istnieje, aby odciążyć niektóre zadania, które zajmują bardzo dużo czasu procesorowi. Otrzymują zestawy danych i instrukcje, co zrobić z tymi danymi. Karta graficzna musi być w stanie uporządkować dane w sposób możliwy do zarządzania i zinterpretować instrukcje, aby powiedzieć mu, co ma robić. Następnie musi wykonać szereg operacji matematycznych na danych. Następnie musi ponownie uporządkować dane i po zakończeniu wysłać wyniki z powrotem do systemu operacyjnego. To bardzo uproszczony opis potoku grafiki komputerowej . Aby dane były gotowe do programu, należy wykonać wiele czynności.
Teraz, ponieważ GPU musi akceptować zestawy instrukcji i implementować bardzo skomplikowane operacje matematyczne na sprzęcie, pewne rzeczy będą działać szybciej lub wolniej przez ten potok. Częścią pisania sterownika dla urządzenia jest interpretacja danych i instrukcji przesyłanych do urządzenia, ich tłumaczenie, aby urządzenie mogło je zrozumieć. Gdy kierowca to robi, może podejmować decyzje dotyczące wysyłania danych do urządzenia, aby zadania zajęły jak najkrótszy czas. Jednak sterownik na ogół nie ma zbyt wielu informacji o tym, co robi program, który obsługuje. Wszystko, co otrzymuje z programu, to wywołania API („narysuj linię”, „pokoloruj punkt”, „odcień trójkąta” itp.). Tak więc założenia, które może poczynić, nie są zbyt dobre.
Kiedy AMD lub nVidia wydaje aktualizację sterownika, która zawiera ulepszenia wydajności dla określonych gier, oznacza to, że sterownik wykryje, która gra nazywa się sprzętem graficznym, i ma szereg zakodowanych założeń, które są znane na temat tego, jak gra jest zaimplementowano. Może się zdarzyć, że gra ma wiele obrazów tekstur, które należy szybko zamienić i wyrzucić z pamięci, lub że w czasie rzeczywistym mieszają kolory, aby uzyskać określone efekty świetlne. Zwykle to, co zrobi gra, to zaimplementowanie małych programów (zwanych „modułami cieniującymi”), które opisują sposób wykonywania tych obliczeń, i zostaną one wysłane do GPU w celu wykonania. Jeśli kierowca wie, w jaki sposób gra korzysta ze sprzętu, może zorganizować dane i wybrać zestawy instrukcji, które wykonają pożądane zadanie w sposób zwiększający przepustowość i wydajność.
Czasami jednak po wysłaniu produktu w niektórych procesorach graficznych mogą znajdować się błędy. Może być na tyle niejasny, że został pominięty podczas sprawdzania poprawności podczas projektowania układu, ale może się okazać, że powoduje on pewne błędne lub niepożądane zachowanie (lub nawet awarie) w konkretnej grze, która go uderza. W takim przypadku sterownik wykryje ten stan błędu i obejdzie go, odciążając niektóre obliczenia po stronie procesora lub zmieniając sposób, w jaki podaje dane do GPU, aby nie wchodził w ten stan. Te ponownie zostaną wydane w formie aktualizacji sterowników.
Zasadniczo nie zmienia to wydajności samego sprzętu, tylko zmienia sposób korzystania ze sprzętu, dzięki czemu może działać wydajniej i szybciej na tym samym zestawie danych.
źródło
„Sterowniki procesorów” rzadko istnieją, a na pewno nie jako moduły ładowalne. Okazjonalny „sterownik procesora” byłby potrzebny do pewnych odmian sterowania wielordzeniowego lub obsługi przerwań (np. Podwójne rdzenie AMD wymagały sterownika WinXP do pełnego wykorzystania). W przeciwnym razie większość systemów operacyjnych jest skonfigurowana i zbudowana w celu bezpośredniego dostępu do procesora. Jeśli problem pojawia się i jest poważny, oznacza to, że kod jądra jest załatany i aktualizacja jądra zostaje wydana.
Procesory graficzne nie są już tylko urządzeniami peryferyjnymi; ewoluowały w koprocesory. „Sterownik GPU” nie tylko zapewnia dostęp do urządzenia, ale obejmuje algorytmy przetwarzania (tj. Podprogramy graficzne) dla GPU spakowanego w sterowniku. Rozmiar tych „kierowców” jest podarunkiem / wskazówką. Te algorytmy / podprogramy są ulepszane.
źródło
To nie tylko sterowniki, to sam procesor graficzny. GPU specjalizuje się w różnych rodzajach obliczeń (np. FFT) i manipulacji pamięcią. Może pracować równolegle przy większości podanych zadań i sprawić, że będzie bardziej efektywny niż procesor ogólnego przeznaczenia.
Dzięki lepszej wiedzy o uruchomionych programach możesz zoptymalizować procesy przetwarzania pamięci lub obliczeń dla tych programów. Procesor graficzny jest bardzo wszechstronny w wykonywaniu obliczeń i manipulowaniu pamięcią, dlatego trzeba napisać idealne oprogramowanie układowe lub sterownik. ;) Jest wiele miejsca na ulepszenia.
Większość innych urządzeń nie jest tak wszechstronna w użyciu. Większość sprzętu na komputerze musi działać zgodnie ze specyfikacją, przestrzegać protokołów, więc sterownik nie musi być optymalizowany.
A, zapomniałem o procesorze. > _ <Procesor można zoptymalizować. Większość nowych modeli procesorów ma programowalne oprogramowanie układowe, ale zwiększenie wydajności nie jest warte wysiłku. Służy wyłącznie do korygowania błędów w procesie budowania sprzętu.
źródło