To najciekawsza funkcja DirectX 12, z której nie będziemy mogli skorzystać

Felieton/Sprzęt 27.10.2015
To najciekawsza funkcja DirectX 12, z której nie będziemy mogli skorzystać

To najciekawsza funkcja DirectX 12, z której nie będziemy mogli skorzystać

Jedną z najważniejszych cech DirectX 12 ma być umożliwienie jednoczesnego korzystania z dwóch zupełnie różnych kart graficznych. I nie mówimy tu o używaniu dwóch różnych kart AMD lub dwóch modeli wyprodukowanych przez Nvidię, ale o połączeniu podzespołów obu firm. Teraz okazuje się, że korzystanie z tej funkcji jest możliwe i można ją przetestować w obsługującej DirectX 12 strategii Ashes Of The Singularity.

W teorii wygląda to pięknie.

DirectX 12 oferuje dwa tryby pracy dwóch kart graficznych. Pierwszy z nich to tryb łączonych GPU, który umożliwia połączenie dwóch bardzo podobnych modeli w jeden. Dzięki temu, mając dwa takie same Radeony lub GeForce’y możliwe byłoby samodzielne stworzenie wirtualnej karty wyposażonej w dwa razy więcej pamięci oraz procesorów strumieniowych niż w pojedynczym modelu.

Wiele osób pewnie już obrusza się i twierdzi, że dwóch kart pracujących w tandemie nie można określać jako modelu wyposażonego w dwa razy większą ilość pamięci. Owszem, jest to prawda, ale tylko jeżeli karta pracuje w trybie AFR (Alternate Frame Rendering). Wówczas każda karta generuje klatki naprzemiennie, a jako że dwie sąsiednie klatki obrazu niespecjalnie się od siebie różnią, można uznać, że na obu kartach znajdują się niemal te same dane. Zupełnie inaczej jest w przypadku trybu SFR (Split Frame Rendering), gdzie obraz jest dzielony na pół, a każda karta zajmuje się swoją połówką obrazu.

Warto jednak pamiętać o tym, że obraz wcale nie musi być podzielony na dwie równe części. Można go podzielić inaczej i przekazać zadania do dwóch różnych kart graficznych. Wtedy karta o wydajności X otrzymywałaby do rozrysowania trzecią część klatki, zaś karta o wydajności 2X dwie trzecie klatki. Oczywiście parametr ten zmieniałby się dynamicznie, ponieważ różne części klatki mogą być w różnym rodzaju obciążeniem dla sprzętu. Tutaj właśnie może się przydać tryb pracy rozłączonych GPU. W nim poszczególne karty są traktowane jako oddzielne urządzenia, które mogą zajmować się różnymi, wybranymi przez dewelopera zadaniami. W ten sposób można zmusić do pracy kartę zintegrowaną i dedykowaną, jak też dwa modele dedykowana, nawet takie z chipami pochodzącymi od różnych producentów.

W praktyce nie jest tak różowo.

Zdaję sobie sprawę z tego, że z perspektywy gracza funkcja ta prezentuje się świetnie. W końcu możliwe będzie dorzucanie nowej karty graficznej do starej, zamiast dokonywać całkowitej wymiany. Otóż nie, mam przeczucie graniczące z pewnością, że rozwiązanie to nie będzie działać tak bezproblemowo. W historii komputerów było już wiele prób zaprzęgnięcia do pracy kilku GPU. I o ile udało się względnie dobrze opanować łączenie podobnych kart graficznych, to nawet w przypadku współdziałania zintegrowanej i dedykowanej karty AMD łączna wydajność tych podzespołów mogła być gorsza, niż przy użyciu jednej karty. Lepiej nie prezentowały się skomplikowane chipy takie jak Lucid Hydra.

Oczywiście zdaję sobie sprawę z tego, że wówczas rozwiązanie to nie było wspieranie przez API i wykorzystanie go było znacznie trudniejsze. Jednak nawet teraz nie będzie ono z automatu wspierane w każdej grze i to programiści będą musieli postarać się, by funkcja ta działała dobrze. Będzie to zadanie trudne, ale pomińmy ten fakt. Zamiast tego warto zwrócić uwagę na to, że część twórców po prostu nie będzie chciała implementować tych funkcji. Chodzi mi tu przede wszystkim o twórców gier współpracujących z Nvidią, którzy wykorzystują biblioteki Gameworks. Skoro tytuły te wielokrotnie działały znacznie gorzej na kartach konkurencji, nie chce mi się wierzyć, że Nvidia umożliwi na uruchamianie ich na mieszanych konfiguracjach. Zwłaszcza, że już raz użytkownicy odblokowali możliwość wykorzystywania tanich GeForce’ów jako akceleratora PhysX, a firma z Santa Clara to zablokowała.

Trudno się dziwić Nvidii. Ma ona zdecydowaną większość rynku kart graficznych i nie ma żadnego interesu w tym, by umożliwiać graczom łączenie swoich kart z modelami konkurencji. To AMD zależy na zagarnięciu rynku w jakikolwiek sposób, ale ma ona tak małą siłę przebicia, że nie należy się spodziewać popularyzacji tego rozwiązania. A szkoda! Bowiem jak pokazują testy przeprowadzone przez Anandtech, rozwiązanie to działa świetnie. Trzeba oczywiście spełnić kilka warunków, takich jak ustawienie wydajniejszego akceleratora, jako karta główna, ale skalowanie się obu kart na poziomie 85% to nie lada wyczyn, który trzeba pochwalić. Pozostaje żałować, że na rynku kart graficznych zamiast duopolu panuje praktycznie monopol i producent GeForce’ów będzie w stanie zablokować tę bardzo ciekawą inicjatywę.

Dołącz do dyskusji