Radeon HD4870 - poprawiamy fabrykę? Podkręcanie i modyfikacja biosu
20.01.2013 | aktual.: 01.03.2013 21:40
Jakiś czas temu popełniłem wpis o modyfikacjach biosu w kartach graficznych opartych o rdzeń G92 i reanimacji karty po nieudanym flashowaniu. Od tego czasu minęło kilka miesięcy, GeForce 8800 GTS 512MB znalazł nowego szczęśliwego nabywcę a ja w tym czasie wymieniłem w komputerze wszystko oprócz obudowy i zasilacza. Ostatni mój zakup to używana karta graficzna Club3D Radeon HD4870 Overclocked Edition 512MB, miał być HD7750 ale fundusze stopniały i trzeba było znów iść na kompromis. Karta pomimo że już dość stara to nadal "daje radę" ale po 2 dniach w moim komputerze wiedziałem już że ten sprzęt na standardowych ustawieniach pracować u mnie nie będzie! ;D
Pomimo tego że specjalnie kupiłem konstrukcję niereferencyjną z chłodzeniem ZEROtherm to niestety karta nie jest ani cicha, choć osoba od której ją kupiłem twierdziła co innego ani chłodna ale żaden HD4870 chłodny nie jest :D No cóż wentylator się zużywa a kupując po kosztach używaną kartę nie można mieć wszystkiego. Po rozebraniu, wyczyszczeniu karty i wymianie pasty termoprzewodzącej (Arctic Silver 5) temperatury są już znacznie lepsze - w spoczynku nie przekraczają 50°C a pod obciążeniem nie widziałem więcej niż 79°C na rdzeniu (FurMark). Wentylator jak wył tak wyje więc pomyślałem że dobrze by było go też rozebrać i przesmarować olejem wazelinowym. Na standardowe wentylatory 80, 92 i 120mm zawsze dobrze to działało. Niestety, okazało się że jest nierozbieralny przez co nie mogłem wyciągnąć wirnika i dostać się do środka. Trudno. Przy okazji dowiedziałem się dlaczego nie można odczytać prędkości obrotowej wentylatora żadnym programem. Sprawa okazała się prosta, mimo iż wentylator ma wtyczkę 3 pinową to wejście dla wentylatora na karcie graficznej jest 2 pinowe (lol) więc trzeci pin odpowiedzialny za informację o ilości RPM jest niepodłączony bo zwyczajnie nie ma gdzie. Gdybym się uparł to oddzieliłbym żółty kabelek z wiązki od tego wentylatora i zamontował we wtyczce 3 pin oraz podłączył do dowolnego złącza na wentylator w płycie głównej - tadam! mamy odczyt prędkości wentylatora karty graficznej. W zasadzie nie zrobiłem tego jeszcze bo nie mam akurat wolnej wtyczki 3 pin.
No dobrze a jak karta sprawuje się pod Windowsem?
Jak widać po poniższych screenach nie jest źle. Gdy nie gramy karta obniża taktowanie rdzenia do 500MHz a pod obciążeniem działa z taktowaniem 800MHz (moja karta jest fabrycznie podkręcona).
Jest dobrze ale mogło by być lepiej, taktowanie pamięci i napięcie rdzenia również mogło by być obniżanie w 2D.
Czy prądożerne karty są prądożerne?
Pytanie nie jest takie głupie jak by się mogło wydawać, ponieważ przez większość czasu karta nie jest obciążona w takim stopniu jak w grach czy benchmarkach. Tutaj jest pole do popisu dla energooszczędnych trybów 2D. Niestety Radeon HD4870 ma kiepsko rozwiązane tryby oszczędzania energii. Obniżane jest tylko taktowanie rdzenia i to tylko o 300MHz. Dlaczego pamięci nie obniżają taktowania? Powód jest prosty, ponieważ zmiana ich taktowania powoduje miganie ekranu. Wynika to ze sposobu implementacji pamięci GDDR5 w kartach z serii radeon HD4000. Przy przeglądaniu stron z flashem z włączonym przyspieszaniem sprzętowym np. youtube karta zmienia profil na UVD (dekodowanie wideo) i w przypadku różnych taktowań pamięci zmiana profilu jest widoczna w postaci migania ekranu. Przy przeglądaniu internetu jest to bardzo irytujące. Obniżenie taktowania pamięci dało by znaczący spadek poboru prądu w spoczynku.
Sprawdzamy minimalne i maksymalne taktowania
No dobrze, czas sprawdzić jak daleko możemy się posunąć. W tym celu potrzebny nam będzie mały programik o dużych możliwościach - ATI Tray Tools 1.7.9.1573. Po zainstalowaniu można zmienić 2 opcje dla wygodniejszego użytkowania:
- zmiana języka na polski w "Tools & Options" -> "General Options"
- odznaczyć "Use overclocking limits" w tym samym oknie co wyżej ale w zakładce "Advanced"
Po ponownym uruchomieniu programu mamy już polski interfejs :) Czas sprawdzić minimalne taktowania przy których karta będzie jeszcze stabilna. Klik prawym na ikonę programu w trayu i wybieramy "ustawienia sprzętowe" -> "ustawienia podkręcania". Można sobie także otworzyć obok program GPU-Z na zakładce "sensors" aby na bieżąco śledzić co dzieje się z kartą. No to jazda, obniżamy stopniowo taktowanie, najpierw rdzeń potem pamięci lub odwrotnie. Ważne by nie robić tego jednocześnie na obu bo w przypadku gdy coś się wysypie nie będziemy wiedzieli co jest przyczyną. Jeśli zauważymy artefakty czy inne błędy w obrazie lub system się zawiesi to resetujemy komputer aby wrócić do standardowych ustawień. Ustawiamy pożądane taktowania na jednym z suwaków, klikamy Zastosuj i Pokaż animację 3D aby sprawdzić czy nie przesadziliśmy z taktowaniami. Jeśli wszystko działa to zaczynamy od nowa ustawiając niższe taktowanie itd. Można także eksperymentować z obniżaniem stopniowo napięcia. Jeśli znajdziemy już częstotliwości przy których karta jest niestabilna, ustawiamy trochę wyższe i klikamy "szukaj artefaktów". W przypadku braku błędów przez kilkanaście minut możemy uznać że znaleźliśmy minimalne stabilne zegary. W przypadku mojej karty było to 100MHz na rdzeniu i 199MHz na pamięciach. Ustawianie aż tak niskich zegarów nie ma zbytnio sensu ponieważ zadowalająco niski pobór prądu można już uzyskać przy trochę wyższym taktowaniu. Osobiście zdecydowałem się że w 2D i w trybie dekodowania wideo (UVD) ustawię sobie zegary 200MHz i 250MHz, odpowiednio rdzeń i pamięci. W obu trybach takie same ustawienia aby ograniczyć do minimum efekt migania obrazu przy przełączaniu trybów w trakcie użytkowania internetu i np. oglądania filmików na YouTube. Niestety kosztem wydajności w trybie UVD ale jeśli nie używamy karty do np. konwertowania video w programach wykorzystujących GPU to ta zmiana będzie w zasadzie niezauważalna.
Skoro mamy już minimalne ustawienia to czas znaleźć maksymalne ;)
Robi się to analogicznie jak z minimalnymi z tym że tutaj możemy to powierzyć programowi aby sam automatyczne znalazł odpowiednie zegary. Robi się to klikając w znajdź max. GPU lub MEM. W moim przypadku program znalazł max. 834MHz na rdzeniu ale w pełni stabilne jest 830MHz. Warto też sprawdzić ustawienia pod kątem artefaktów/błędów w obrazie w 3DMarku i jakiejś grze a nie polegać tylko na jednym programie. tutaj również można zmienić napięcie o ile jest taka możliwość, tym razem na wyższe. Radziłbym jednak z tym nie przesadzać bo temperatury mogą znacząco wzrosnąć, szczególnie na sekcji zasilania.
Zmiana ustawień wentylatora
W programie używanym przez nas wcześniej do wyszukiwania minimalnych i maksymalnych taktowań jest też zakładka błędnie opisana jako "Wiatrak" - błędnie bo powinno być wentylator ponieważ wiatraki to w Holandii stoją ;P No dobrze mniejsza o nazwę, w tej zakładce można eksperymentalnie dobrać optymalne ustawienia wentylatora. Ze względu na różne chłodzenia i warunki temperaturowe panujące w naszych obudowach nie ma uniwersalnych ustawień, trzeba je dobrać metodą prób i błędów sprawdzając temperaturę pod obciążeniem. Moim zdaniem trzeba obroty dobrać tak aby karta nie miała więcej niż 90°C pod obciążeniem. W przypadku kart HD4850/HD4870/HD4890 bardzo ważne jest też pilnowanie temperatur sekcji zasilania. W programie GPU‑Z są to temperatury przy "VDDC". Jeśli zobaczymy tam wartości w okolicy 120°C to jest źle... Z doświadczenia wiem że program do testowania FurMark potrafi najbardziej obciążyć sekcję zasilania karty, podczas jego używania polecam monitorować temperatury i jeśli przekroczą 100°C to odpuścić bo można spalić sobie kartę. Dotyczy to szczególnie tych kart które nie mają radiatora na sekcji zasilania.
...a może by tak zmienić zegary na stałe?
Skoro znamy już na wylot możliwości swojej karty, zarówno te maksymalne jak i minimalne to można je ustawić na stałe w BIOSie karty. Aby tego dokonać będziemy potrzebowali oczywiście pliku biosu który najlepiej zgrać bezpośrednio z naszego egzemplarza karty przy użyciu GPU-Z.
Tak otrzymany plik twoja_nazwa.rom trzeba czymś otworzyć i edytować. Do tego potrzebny będzie program RBE (Radeon BIOS Editor). Otwieramy program i ładujemy do niego odczytany przed chwilą bios klikając na Load BIOS w lewym dolnym rogu i wskazując lokalizację pliku *.rom
Przechodzimy do interesującej nas zakładki clock settings.
Tutaj można wpisać ustalone wcześniej taktowania do odpowiednich pól. Polecam zrobić to ręcznie nie używając kreatora (przekreślony czerwonym X) ponieważ czasem potrafi zrobić coś nie tak. Ustawień w polu zaznaczonym na czarno nie ruszamy, z takimi ustawieniami karta się uruchamia - boot systemu. Zmiana tych wartości nie da nam żadnych korzyści. Następne w kolejności - pola zaznaczone na zielono to "tryb 2D" - wpisujemy ustalone wcześniej minimalne taktowania. Czerwone pola - wartości dla profilu 3D czyli nasze maksymalne taktowania. Żółte pola to tryb UVD - można zmienić te wartości na identyczne jak w 2D aby ograniczyć do minimum miganie ekranu przy przełączaniu trybów, jednak kosztem wydajności przy np. konwertowaniu video z użyciem GPU. Można tez nie ruszać tych ustawień ale wtedy obraz będzie migał częściej np. przy włączeniu/wyłączaniu filmiku na youtube.
Kolejna zakładka "Fan settings" to ustawienia wentylatora. Zostawiamy domyślne parametry lub ustawiamy pożądane wartości ustalone wcześniej z pomocą programu ATI Tray Tools.
Gdy wszystko jest już gotowe, po upewnieniu się że zmieniliśmy odpowiednie wartości klikamy w lewym dolnym rogu Save BIOS i zapisujemy gdzieś tak zmodyfikowany BIOS.
Wgrywamy nowy BIOS do karty.
W celu wgrania nowego BIOSu wybrałem najłatwiejszą ale też określaną przez niektórych jako najbardziej ryzykowną metodę czyli flash z pod Windowsa. Potrzebny będzie program ATI Winflash. Po pobraniu rozpakowujemy archiwum zip do jakiegoś folderu. Teraz wyłączamy wszystkie niepotrzebne programy z antywirusem włącznie i uruchamiamy plik ATIWinflash.exe jako administrator. Naszym oczom ukazuje się prosty interfejs programu.
Upewniamy się że mamy kopię zapasową oryginalnego BIOSu z karty w bezpiecznym miejscu np. na pendrive. Jeśli nie mamy kopii to teraz jest ostatnia szansa na jej wykonanie. Jeśli wszystko jest OK to klikamy na Load Image i wskazujemy nasz zmodyfikowany bios. BIOS wgrywamy klikając przycisk Program. Pojawi się okienko z postępem. W tym momencie nic nie robimy ani niczego nie uruchamiamy. Na końcu pojawi się komunikat o pomyślnym ukończeniu operacji. Całość trwa około 1min. Klikamy ok lub zatwierdzamy enterem i komputer powinien uruchomić się ponownie. Jeśli uruchomi się normalnie to operacja została zakończona sukcesem. W ten sposób flashowałem bios kilkanaście razy. Czasem zdarzyło się że w połowie programowania biosu system jakby się zawieszał ale nie należy wtedy niczego ruszać tylko odczekać z 10‑15min. i zresetować komputer. Za każdym razem okazywało się że jednak bios wgrał się normalnie. [Edycja: Zauważyłem że aby taki problem nie występował należy powyłączać wszystkie programy w tle oraz zmienić styl na "Klasyczny Windows", chodzi o wyłączenie Aero.] Więc albo jestem szczęściarzem albo ta metoda nie jest aż tak ryzykowna jak to powszechnie się sądzi ;)
Nie ponoszę odpowiedzialności za ewentualne uszkodzenia sprzętu, korzystając z powyższych rad robisz to na własną odpowiedzialność!
Edycja: Drobne poprawki w tekście.