
Sposoby renderowania obrazu
Głównym problemem, który muszą rozwiązać producenci, jest sposób, w jaki karty (lub układy) dzielą się pracą.
Na poprzedniej stronie artykułu wspomnieliśmy o dwóch głównych sposobach rozwiązywania tego problemu. Chipy graficzne mogą ze sobą współpracować przy generowaniu tej samej klatki bądź generować klatki w całości, każdy inną.
Starszym z nich i praktycznie już wymarłym jest „tryb współpracy nad jedną klatką”. W ciągu 10 lat powstało kilka jego głównych odmian.
Pierwsza to tryb znany z pierwotnego SLI ze stajni 3dfx, który już pokrótce omówiliśmy, czyli dzielenie klatki na Scan Lines.
Druga to tryb o nazwie Scissor/Split-Frame Rendering (nazywany także ATI SFR i NV SFR), czyli dzielenie klatki na dwie części, których wyrenderowanie powinno zająć obu kartom zbliżoną ilość czasu. Zarówno w przypadku „czerwonych”, jak i „zielonych” działa to bardzo podobnie, a różnica w nazwach jest spowodowana odmiennymi algorytmami zarządzającymi podziałem obciążenia. Wychodzi to różnie i czasem jedna karta się nudzi, gdy druga jeszcze ciężko pracuje nad swoim kawałkiem obrazu.
Trzeci i chyba najlepszy tryb to SuperTiling, który występuje wyłącznie w produktach ATI. Klatka jest w nim dzielona na szachownicę, składającą się z kwadratów o rozmiarze 32x32 piksele. Zapewnia to bardzo równomierne rozdzielenie pracy pomiędzy układy, co na dodatek zachodzi praktycznie automatycznie, bez żadnych dodatkowych obliczeń.
Efekt pracy obu układów jest składany w całość i wysyłany do monitora, dzięki czemu możemy się cieszyć naszą ulubioną grą.
Brzmi to nieskomplikowanie, jednak w praktyce jest zupełnie inaczej. Sterownik musi się nieźle napocić, aby zarządzać zasobami niezbędnymi do wygenerowania danej części obrazu i przydzielać je odpowiedniej karcie. Łatwo jest podzielić wynikowy obraz na części, jednak bardzo często jedna jego część jest zależna od drugiej. Jest tak przy obliczeniach związanych z geometrią, przy mapach wypukłości czy cieni. Elementy wykorzystywane w renderowaniu obrazu (trójkąty) bardzo często przekraczają takie granice i układy muszą się ciągle komunikować przy ich tworzeniu.
Owocowało to czasem... spadkiem wydajności przy wykorzystaniu drugiej karty. Dlatego producenci postanowili całkowicie przejść na Alternate Frame Rendering, który znacznie częściej zapewnia właściwe skalowanie. Ponieważ każda karta (układ) pracuje nad własną klatką, otrzymuje cały zestaw potrzebnych informacji. Znikają w ten sposób wszystkie wady wyżej wymienionych trybów.
AFR nie jest jednak pozbawiony wad. Chodzi o to, że jest to w pewnym sensie... wróżenie z fusów. Bo co właściwie oznacza, że „jedna karta pracuje nad parzystymi, a druga nad nieparzystymi klatkami”? Gdyby były one renderowane jedna po drugiej, to nie różniłoby się to niczym od pojedynczej karty.
W teorii wygląda to tak, że gdy pierwsza karta wyprodukuje połowę swojej klatki, to druga zaczyna renderować swoją. W takiej idealnej sytuacji otrzymujemy 100% wzrostu wydajności i idealną synchronizację.
W praktyce oznacza to tyle, że druga karta renderuje klatkę, która się jeszcze nie „wydarzyła”. Renderuje coś, co najprawdopodobniej się wydarzy. Dane są przygotowywane na podstawie bieżącej sytuacji. Jednak jeśli na przykład w międzyczasie ruszymy myszką, to klatka wyrenderowana nie pokrywa się z tym, co powinno się pojawić na ekranie po naszej reakcji. Powoduje to lekkie opóźnienie, z jakim to, co widzimy, zmienia się na podstawie naszych poczynań.
Po drodze jest jeszcze kilka innych trudności do pokonania. Co się dzieje, gdy wygląd klatki zależy w dużej mierze od poprzedniej? W ekstremalnych przypadkach druga karta musi czekać, aż pierwsza ukończy wszystkie niezbędne obliczenia. Coś takiego może zabić całą koncepcję skalowalności. Gry DirectX 10 są szczególnie oporne pod tym względem, i przygotowanie profilu, który zapewnia przyzwoity wzrost wydajności, wymaga dużo pracy. Czołowym przykładem jest tutaj Crysis. Po wydaniu dwóch łatek i kilku wersji sterowników w końcu uzyskano jakie takie skalowanie, które i tak jest dalekie od ideału.
Gra po prostu musi być przystosowana do współpracy z kilkoma układami graficznymi, a panowie od sterowników muszą zarwać kilka nocek i wypić hektolitry kawy, aby przygotować odpowiedni profil.
Jednak nawet gdy już mamy świetnie przystosowany silnik oraz doskonały profil, problemy się nie kończą.
Trzeba pamiętać, że średnia liczba klatek na sekundę, którą może wygenerować tandem kart, nie oznacza dokładnie tego samego, co może wygenerować jedna karta. Minimalna liczba klatek na sekundę nie skaluje się tak dobrze jak maksymalna. Z takiej sobie minimalnej liczby klatek i świetnej maksymalnej wychodzi nam całkiem niezła średnia. 40 kl./s w przypadku pojedynczej karty to trochę inne 40 klatek niż te uzyskane przez CrossFire/SLI. Szczególnie gdy weźmiemy pod uwagę wspomniane przed chwilą opóźnienia.
Ostatnim i największym problemem jest odpowiednia synchronizacja. O tym jednak trochę później.
Podsumowując, przed naszymi ulubionymi producentami kart graficznych stoi wiele wyzwań i radzą sobie z nimi coraz lepiej.
Teraz już spokojnie możemy przejść do odpowiedzi na pytanie: czy to działa.
- 1.Odrobina historii
- 2.Sposoby renderowania obrazu
- 3.ASUS EAH4870 TOP
- 4.MSI R4870-T2D512
- 5.Zestaw testowy
- 6.Testy syntetyczne
- 7.Assassin's Creed
- 8.Bioshock
- 9.Call of Duty 4: Modern Warfare
- 10.Call of Juarez
- 11.Company of Heroes
- 12.Crysis
- 13.Enemy Territory: Quake Wars
- 14.Half-Life 2: Episode Two
- 15.Prey
- 16.Race Driver: GRID
- 17.S.T.A.L.K.E.R.
- 18.Supreme Commander
- 19.Unreal Tournament 3
- 20.Wiedźmin
- 21.World in Conflict
- 22.O hybrydach słów kilka – 3850 1 GB + 3870 512 MB
- 23.O hybrydach słów kilka – 4870 + 4850
- 24.O hybrydach słów kilka – 512 a 256 MB
- 25.Zbyt piękne, żeby było prawdziwe?
- 26.Okiełznać microstuttering, podejście pierwsze – sposób „naukowy”
- 27.Metoda „naukowa” a synchronizacja pionowa
- 28.Światełko w tunelu?
- 29.Podumowanie badań za pomocą Frapsa
- 30.Okiełznać microstuttering, podejście drugie – a jeśli Fraps kłamie?
- 31.Faktyczne znaczenie microstutteringu
- 32.Podsumowanie
- GeForce GTX 670 – mocarny karzełek oparty na Keplerze 198
- GeForce GTX 690- nieprzyzwoicie kosztowny, dwugłowy Kepler 227
- 16:10 kontra 16:9 – porównanie walorów użytkowych wyświetlaczy 125
- PowerVR SGX 9000 – Warlord niespodziewanie atakuje rynek kart graficznych dla desktopów (Prima Aprilis) 192
- GeForce GTX 680 – umarł król, niech żyje król! 441
- Radeon HD 7850 i HD 7870 – trzeci rzut w ofensywie Graphics Core Next 192
- Radeon HD 7770 i 7750 – Graphics Core Next w masowym segmencie rynku 171
- Pogłębiony test Radeona HD 7970 – multi-GPU, GPGPU, kodowanie wideo, karty różnych firm, podkręcanie ekstremalne 168
- Radeon HD 7950 – kontynuacja ofensywy Graphics Core Next 131
- Test 104 kart graficznych DirectX 11 169
- Radeon HD 7970 – „bombowe” wejście Graphics Core Next 303
- GeForce GTX 680 – umarł król, niech żyje król! 441
- 16:10 kontra 16:9 – porównanie walorów użytkowych wyświetlaczy 125
- OC School, czyli szkoła podkręcania. Część 1. – karty graficzne 90
- Radeon HD 6770 i HD 6750 – AMD gra na bis 100
- Radeon HD 7850 i HD 7870 – trzeci rzut w ofensywie Graphics Core Next 192
- PowerVR SGX 9000 – Warlord niespodziewanie atakuje rynek kart graficznych dla desktopów (Prima Aprilis) 192
- Asus GTX580 DirectCU II i MSI N580GTX Lightning – pojedynek kart dla entuzjastów wydajności 108
- Asus GTX580 DirectCU II i MSI N580GTX Lightning – pojedynek kart dla entuzjastów wydajności 108
- Pogłębiony test Radeona HD 7970 – multi-GPU, GPGPU, kodowanie wideo, karty różnych firm, podkręcanie ekstremalne 168
- Radeon HD 7970 – „bombowe” wejście Graphics Core Next 303
- MSI R6970 Lightning kontra Asus Matrix GTX 580 – starcie kart graficznych dla entuzjastów 194
- Test 104 kart graficznych DirectX 11 169
- OC School – podkręcanie kart graficznych, materiał wideo 47
- OC School, czyli szkoła podkręcania. Część 1. – karty graficzne 90
- PowerVR SGX 9000 – Warlord niespodziewanie atakuje rynek kart graficznych dla desktopów (Prima Aprilis) 192
- 16:10 kontra 16:9 – porównanie walorów użytkowych wyświetlaczy 125
- GeForce GTX 680 w wersji UltraCharged 11
- Nvidia wydała sterowniki w wersji 301.42 WHQL 21
- V-Sync w Keplerze powoduje mikroprzycięcia. Poprawka w przyszłym miesiącu 43
- GeForce GTX 670 firmy ELSA 20
- EVGA kolejny raz pokazuje, jak dba o swoich klientów 26
- Nvidia przygotowuje mobilną wersję GTX 680 na targi Computex 14
- Nvidia mówi o GK110. Bardzo, bardzo niewiele, ale jednak 59
- Bezszelestny Radeon HD 7750 firmy HIS 9
- Sześć niskobudżetowych kart EVGA z procesorami Nvidia GeForce serii 600 12
- HMX-QF20 SMART - mała kamera Full HD z modułem WiFi
- Nowy zestaw głośników Microlab M 223U
- Kolejne sprzęty Pioneer z obsługą AirPlay i DLNA
- Wysokiej jakości słuchawki nauszne marki Focal
- Silicon Micro prezentuje nowe okulary Full HD
- Pierwsze mówiące radio HD?
- MPM wprowadza nową płytę indukcyjną MPM-60-IM-03
- Mała i wytrzymała kamera Full HD marki Samsung
- Słuchawki nauszne Pioneer dla miłośników basów
- Spam w kwietniu 2012 r. wg Kaspersky Lab 0
- AirLive G.DUO - Nadal Hitem! 0
- Pendrive USB 3.0 - szybki i tani 4
- Etui Cygnett Action Armband – iPhone na sportowo 0
- Nowe ultrabooki na naszym rynku 1
- Czym jeszcze zaskoczy nas klawiatura? 0
- Agito.pl - duże monitory LCD najpopularniejsze 0
- Znani goście na wernisażu Jana Lebensteina 1
- Monster ma brzmienie, o którym myślał artysta 0
- Prezenty komunijne - tablet zamiast jeża pigmejskiego 4
- Płyty GIGABYTE z serii 6 gotowe do obsługi Ivy Bridge 3
- Najważniejsze POI związane z Euro 2012 w Twojej nawigacji 0
- Mechaniczny gryzoń Leetgion Hellion 0
- Wszystkie mecze EURO na Twoim laptopie 0
- Wielozadaniowy router z własnym zasilaniem 0
- 4268NVIDIA GeForce 6xx - Oficjalny temat15:08 | LeeLoo_T
- 54Projekt Kontrast15:08 | chrupPL
- 10TV LED 32' do 2tyś.15:07 | Kojiro
- 7Bezkompromisowa buda pod mATX15:06 | Pawel12
- 9Black-blue mod15:06 | chrupPL
- 10593Diablo 3 - oficjalny temat15:06 | Vulc
- 4056AMD Radeon HD7000 Series - oficjalny temat15:05 | LeeLoo_T
- 14Jaka obudowa15:05 | chrupPL
- 8Samsung HM060II 60GB - Health status: warning.15:05 | Bono[UG]
- 2Malowanie kondensatorów15:05 | miomol
- 4268NVIDIA GeForce 6xx - Oficjalny temat15:08 | LeeLoo_T
- 10593Diablo 3 - oficjalny temat15:06 | Vulc
- 4056AMD Radeon HD7000 Series - oficjalny temat15:05 | LeeLoo_T
- 5168Porozumienie ACTA15:00 | Return of Gordon Lameman
- 297O tym jak sklep Morele.net traktuje klientów15:00 | snowee
- 374teorie spiskowe14:58 | Kiciok
- 6858World of Tanks14:57 | Master_Chief
- 831Jestem GRACZEM i szukam najlepszej dla siebie myszki.14:57 | kamilo90
- 519Samsung Galaxy S III - oficjalny wątek.14:42 | kkorniak
- 312OPAMPY - temat zbiorczy14:41 | Art385









