r   e   k   l   a   m   a
r   e   k   l   a   m   a

DirectX 12 połączy w jedno Radeony i GeForce – ale kto z tej „jedności” skorzysta?

Strona główna AktualnościOPROGRAMOWANIE

Serwis Tom's Hardware pozyskał dość zaskakujące informacje o DirectX 12. Jeśli wierzyć doniesieniom z pragnącego zachować anonimowość źródła, nowy interfejs graficzny Windows 10 pozwolić ma na łączenie w jedną pulę różnych zasobów sprzętowych podsystemu grafiki, pozwalając programistom na wykorzystywanie go według potrzeb. W praktyce oznaczać to ma, że możliwe stanie się jednoczesne wykorzystanie układów graficznych różnych producentów, nawet do renderowania tej samej grafiki.

Przyjrzyjmy się bliżej przedstawionemu przez Tom's Hardware mechanizmowi Explicit Asynchronous Multi-GPU. W DirectX 11 i poprzednich wersjach API, wykorzystanie więcej niż jednego procesora graficznego wymagało ich pracy na tym samym zbiorze danych, przy jednoczesnym renderowaniu naprzemiennych klatek. W swojej pamięci układy graficzne przechowywały więc tę samą zawartość geometrii i tekstur, nie było mowy o zsumowaniu graficznego RAM w jeden blok pamięci. By zapewnić płynność grafiki, musieliśmy więc mieć w kolejce prerenderowane klatki – to jednak odbijało się na płynności interakcji z użytkownikiem.

W DX12 możliwe ma być jednoczesne renderowanie jednej klatki przez większą liczbę GPU – programista będzie mógł określić, jak dane geometrii i tekstur zostaną rozdzielone między poszczególne procesory, jak i wyznaczyć obszar rysowany przez dany procesor. Dzięki temu kolejka narysowanych ramek się skróci, znikną problemy z interakcją, uwolnione zostaną dodatkowe zasoby. Te wszystkie fizyczne GPU będą mogły być więc traktowane przez podsystem grafiki jako jedna wirtualna karta graficzna.

r   e   k   l   a   m   a

Entuzjaści pogodzenia czerwonego z zielonym nie powinni jeszcze świętować. Informatorzy amerykańskiego serwisu sugerują, że takie rozwiązanie miałoby działać nawet dla różnych architektur sprzętowych jednocześnie, tak że karty GeForce mogłyby współdziałać z Radeonami nawet przy rysowaniu tej samej klatki. Co więcej, możliwe w ten sposób miałoby się stać jednoczesne wykorzystanie specyficznych dla tych GPU możliwości, np. 3D Vision Nvidii z TrueAudio AMD.

Wykorzystanie wielu różnych GPU (a szerzej mówiąc, wszelkiego rodzaju procesorów) w systemie jest możliwe już dzisiaj, w ramach frameworku OpenCL, z grafiką sytuacja jest jednak bardziej skomplikowana. Anonimowe źródło przyznaje, że konkretna implementacja tych rozproszonych technik renderowania ma pozostać w rękach deweloperów, co w praktyce oznacza, że pozostanie ona w rękach producentów procesorów graficznych. To, że DirectX 12 będzie pozwalał na jakieś operacje nie oznacza, że pozwoli na to zamknięty pakiet middleware GameWorks Nvidii. Takie pomysły na wykorzystanie czerwonych i zielonych kart pojawiały się już w poprzedniej dekadzie, założeniem było wówczas wykorzystanie słabszego GeForce jako karty fizyki (przez silnik PhysX) i silniejszego Radeona jako karty renderującej grafikę – Nvidia pomysł ten odrzuciła.

Bardziej realistyczny jest scenariusz łączenia dyskretnych GPU ze zintegrowaną grafiką Intela – niebiescy nie udają, że ich Intel HD jest najlepszym, co może przydarzyć się graczom. W ramach DirectX 12 nowe, zgodne z tym API gry mogłyby wykorzystywać GPU Intela właśnie do liczenia fizyki gry czy rysowania mniej wymagających elementów (np. interfejsu gry, rozmaitych HUD-ów czy wskaźników), a GeForce czy Radeona do ciężkiej roboty. Szczególnie korzystne byłoby to dla użytkowników mocniejszych laptopów z dyskretnymi układami graficznymi w mobilnych wersjach, których wydajność jest zawsze niższa niż ich desktopowych wersji i każda dodatkowa „pomoc” jest mile widziana.

Szczegółów dotyczących tego wieloprocesorowego podsystemu grafiki jest oczywiście bardzo mało, trudno tu cokolwiek przesądzać, ale warto zwrócić uwagę na podobieństwa założeń między tą propozycją a heterogeniczną architekturą obliczeniową (HSA), tak promowaną przez AMD. Wspólna pula zasobów obliczeniowych w HSA powstać może nie tylko jednak z układów graficznych, możliwości są znacznie większe – możemy dołączać do niej także CPU różnych rodzin czy procesory sygnałowe. Jak do tej pory HSA, choć tak ambitna, nie zdołała się spotkać z większym uznaniem deweloperów, niewiele jest oprogramowania w pełni wykorzystującego jej możliwości poza tak naprawdę niewymagającą HSA akceleracją obliczeń przez OpenCL. Niewykluczone, że ambitny pomysł Microsoftu też nie znajdzie szerokiego zastosowania – liczba problemów technicznych i licencyjnych do rozwiązania jest spora, zabawa we wkładanie Radeonów i GeForce do jednego komputera po to tylko, by sobie pograć w Wiedźmina 3 na 60 FPS po prostu może okazać się niewarta świeczki. Debugowanie takich konfiguracji dla producenta po prostu będzie zbyt czaso- i pracochłonne, by było warte podjętych starań.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.