Jak zmienić LOD dla kart graficznych AMD Radeon?
Skąd wziął się pomysł na napisanie takiego "poradnika? Wszystko zaczęło się dawno temu, gdy na moim komputerze grafika w grach straciła swoje "piękno", a mianowicie wszystko wyglądało mniej więcej tak:
Po pewnym czasie zaczęło mnie to denerwować, więc...
... postanowiłem wziąć sprawy w swoje ręce. Na początku skorzystałem z forum DP, lecz konkretnej pomocy ani prawdopodobnej przyczyny defektu nie otrzymałem w odpowiedzi. Kolejnym krokiem było ruszenie w stronę forów anglojęzycznych, gdzie w kawałku odnalazłem przyczynę awarii.
Przyczyną był zmieniony LOD
Nie wiem jakim cudem doszło do "automatycznego" przestawienia LOD, ale teraz już jakoś nie mam poczucia "obowiązku" szukania genezy tego feleru ;)
A czymże jest, to LOD?
LOD po rozwinięciu jest to level of detail. Po naszemu oznacza to poziom szczegółów/detali (jak kto woli :)
LOD wyznacza, przy której odległości od "widza" (chodzi tutaj naturalnie o wirtualne oczy bohatera gry) należy przejść na niższą rozdzielczość tekstur, czyli innymi słowy mamy wypisaną połowę definicji mipmapingu.
Standardową wartością LOD jest 0 (zero).
Zanim rozpoczniemy zmieniać LOD
U wielu z Was zapewne pojawiło się pytanie "A po co mam coś przestawiać jak mam wszystko w porządku?"
Może być tak, że nie wszyscy mają wszystko w porządku, a gry zamulają im jak osioł bez marchewki i nawet najniższe ustawienia gry nie pomagają zwiększyć ilości FPS‑ów. "Poradnik" ten przyda się również hardcorowym graczom, którym nie zależy na grafice, a jedynie na eleganckim przyspotowaniu przeciwnika.
To może już zacznijmy...
Co będzie nam potrzebne?
- karta graficzna AMD Radeon (dowolny model, w moim przypadku jest to ATI (AMD) Mobility Radeon HD 5650)
- system operacyjny Microsoft Windows
- dostęp do rejestru systemu Microsoft Windows
Wiem, możecie być trochę zdziwieni, że zrobimy to za pomocą rejestru, który jest wyśmiewany przez "wielką" korporację znaną pod nazwą Apple (DOWÓD ), lecz ja odpowiedniego oprogramowania (takiego, którego da się zainstalować) od AMD nie dałem rady znaleźć, a zmiana LOD przez rejestr nie jest taka straszna.
Zaczynamy!
Najpierw należy odnaleźć klucz, w którym to zawarte są ustawienia karty graficznej, poprowadzę Was przez kawałek drogi:
Komputer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00x\Control\Video\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\0000\UMD
Kawałek Was poprowadziłem, więc teraz pora poszukać trochę samemu, ponieważ ja Waszych komputerów nie mam obok siebie i nie znam ich tak dobrze jak Wy, lecz pomogę dotrzeć do UMD objaśniając co powinno być pod iXami.
- ControlSet00x - Ci co się teraz zatrzymali zapewne myślą czy wybrać ControlSet001 czy ControlSet002, a może CurrentControlSet. Najlepiej jest wybrać ControlSet001. Dlaczego? Ponieważ są tam ustawienia, które zostały wprowadzone od razu po ostatnim uruchomieniu systemu operacyjnego, czyli takie, które obecnie działają na Waszych komputerach. ControlSet002 zawiera ustawienia, które są znane jako "poprawne", oznacza to, że raczej nie znajdziemy tam zmian wprowadzonych przez nas, a tym bardziej nie znajdziemy tam klucza UMD. A co z CurrentControlSet? Jest to zwykły wskaźnik do ControlSet001.
Zatem, który wybrać? Tak jak już wcześniej wspomniałem, lecz jeżeli napotkacie jakieś problemy w odnalezieniu UMD, to możecie równie dobrze zaglądnąć do CurrentControlSet.
- {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} - Teraz trzeba przejść przez klucz, który ma w nazwie dużo znaków nieowocujących w jakikolwiek sensowny termin, a jesteśmy już blisko UMD. Tutaj dam Wam jedynie małą poradę:
Szukajcie, a znajdziecie...
... "rozwijalny" klucz 0000, w którym to znajdziecie UMD ;)
UMD znalezione?
Jeżeli tak, to kliknijcie na niego jedynie jeden raz. Teraz, w oknie po prawej stronie, gdzie znajdują się wszystkie wartości otwieramy menu kontekstowe, z którego to tworzycie "nową wartość ciągu", po czym nadajemy jej nazwę "LodAdj". Na sam koniec trzeba nadać wartość świeżo utworzonemu ciągowi, co by tu wpisać... ?
"Standardowym" zakresem wartości LOD są liczby całkowite pomiędzy -5 a 5, lecz w moim przypadku, a tak bardziej konkretnie w przypadku Batmana AA porwałem się na LOD równe (+)15, co wyróżniło się brakiem kolorów lub co gorsza tekstur na modelach 3D.
Co daje dodatnie wartość, a co ujemna?
Jak już wcześniej wspomniałem, 0 (zero) jest standardową wartością LOD i zapewnia grafikę, taką jaką ustawiliśmy w grze, czyli nic dodać, nic ująć.
Według mnie wartościami ujemnymi nie ma co się za bardzo przejmować, w rezultacie otrzymujemy jedynie pozornie wyostrzone tekstury, które migoczą podczas ruchu.
Pewnie nie uchwyciliście żadnych różnic :P
Zaczyna się robić ciekawiej, gdy LOD przypiszemy wartość dodatnią. Grafika w grach (i nie tylko) zaczyna tracić na szczegółach i wygląda jak totalne g#?@o, lecz mamy gwarantowane, że przybędzie z kilkadziesiąt FPS‑ów.
Wartość już zapewne została wpisana
Czy trzeba ponownie uruchomić komputer? To zależy, bo ja nawet nie musiałem wyłączać Batmana AA, aby nowy LOD został wprowadzony do gry, po prostu ją zminimalizowałem, otworzyłem rejestr i wprowadziłem nową wartość dla LOD, po czym wróciłem do Batmana z "odmienioną grafiką", lecz jeżeli nie zauważyliście żadnych zmian po zmodyfikowaniu LOD, to należy uruchomić ponownie komputer i mieć nadzieję, że wszystko pójdzie po dobrej myśli.
Na zakończenie
Proszę, abyście dali znać w komentarzach jak u Was to działa i wybaczyli wszelkie błędy związane z terminologią rejestru systemu Microsoft Windows oraz grafiki komputerowej.
Jeżeli będzie jakiekolwiek zapotrzebowanie na więcej informacji o wpływie modyfikacji LOD na wydajność w grach, to z chęcią zrobię malutki benchmark oparty o trzy lub cztery gry.
Dodam jeszcze, że...
Autor tego wpisu nie ponosi odpowiedzialności za szkody jakie wynikły podczas wprowadzania zmian do rejestru systemu Microsoft Windows ;)