27-1-2020

Testy API Vulkan wewnątrz gry na platformie PC

Z radością informujemy, że w aktualizacji 4.3 rozpoczniemy nasze pierwsze testy, publikując Vulkan w wersji gry na PC.
Aby uruchomić Rainbow Six Siege w wersji Vulkan, prosimy wybrać odpowiedni przycisk rozpoczęcia rozgrywki podczas uruchamiania gry na PC. W programie startowym będzie można wybrać DirectX 11, albo Vulkan.

CZEMU VULKAN

API Vulkan zapewnia szereg przewag nad DirectX 11, dzięki którym działanie Rainbow Six Siege może zostać ulepszone na wielu poziomach.
W wielkim skrócie, API Vulkan pozwoli nam na optymalizację obciążenia sprzętu poprzez stosowanie dynamicznego indeksowania tekstur, które zmniejsza poziom użycia procesora oraz dynamicznej rozdzielczości i obliczeń asynchronicznych, które zmniejszają obłożenie karty graficznej. Te technologie już są wykorzystywane na konsolach, a dzięki API Vulkan będziemy mogli robić to samo na PC.
__Łącząc te wszystkie rozwiązania możemy zoptymalizować koszt renderowania zarówno po stronie procesora, jak i karty graficznej. __

Wszyscy zainteresowani detalami technicznymi mogą poniżej znaleźć szczegółowe wyjaśnienie tych technologii i korzyści, które wniosą ze sobą w wersji PC. Aby zadbać o odpowiednią prędkość działania gry w wersji Vulkan, prosimy o przeczytanie sekcji WAŻNE INFORMACJE.

Spis treści
VULKAN, DIRECTX 11 I API
TESTOWANIE VULKAN W RAINBOW SIX SIEGE
OBJAŚNIENIA TECHNICZNE
---Dynamiczne indeksowanie tekstur
---Aliasowanie obiektu renderingu i dynamiczne skalowanie renderingu
---Obliczenia asynchroniczne
WAŻNE INFORMACJE
---Sterowniki graficzne: Zaktualizuj swoje sterowniki!
---Wsparcie sprzętowe
---Nadindeksowanie pamięci karty graficznej

VULKAN, DIRECTX 11 I API

Vulkan oraz DirectX 11 to __graficzne interfejsy programowania aplikacji, znane również jako API graficzne __. Pełnią funkcję pośredniczącą pomiędzy Rainbow Six Siege (i innymi grami) oraz kartą graficzną gracza, zwaną GPU.

[R6S] Vulkan API Graphic

W grach i innych aplikacjach intensywnie wykorzystujących grafikę zarówno procesor, jak i karta graficzna działają równolegle, a maksymalna liczba klatek na sekundę osiąganych przez gracza podczas gry zależy od tego, który z tych dwóch elementów jest bardziej powolny, co oczywiście zależy od konfiguracji sprzętowej. Gracze w ograniczony sposób mogą wpływać na maksymalną liczbę klatek poprzez zmienianie ustawień graficznych i zmianę obciążenia karty graficznej, ale koniec końców prędkość działania gry wciąż jest ograniczona albo przez ich procesor, albo przez kartę graficzną.

I tutaj właśnie wiele zależy od API: Właściwe API może zawierać funkcje, które pozwolą nam na zoptymalizowanie obciążenia i prędkości działania. Niektóre API (takie jak Vulkan) działają również dużo bliżej poziomu sprzętowego, dzięki czemu wymagają mniejszej mocy procesora. Mówiąc krótko, dają programistom większą swobodę w zamian za zwiększony poziom komplikacji kodowania.

Rainbow Six Siege korzysta obecnie z API DirectX 11, które zostało opublikowane ponad 10 lat temu. Jego prędkość działania jest wciąż wspaniała, ale sterownik graficzny wymaga do funkcjonowania istotnej mocy procesora. Co więcej, niektóre funkcje obsługiwane przez nowe karty graficzne nie są kompatybilne ze starszymi API, takimi jak DirectX 11. (Ocenialiśmy również DirectX 12, ale nasze wewnętrzne testy wskazywały na lepsze osiągi procesora na API Vulkan.)

Vulkan oferuje korzyści, dzięki którym obniżymy obciążenie procesora i karty graficznej, a dodatkowo zaczniemy obsługiwać bardziej współczesne funkcje, a to może otworzyć drzwi do niezwykle ekscytujących rzeczy w przyszłości.

TESTOWANIE VULKAN W RAINBOW SIX SIEGE

Wprawdzie przeprowadziliśmy wyczerpujące wewnętrzne testy walidacyjne i poświęciliśmy dużo czasu na zbieranie danych diagnostycznych z naszych implementacji Vulkan na serwerze testowym, ale największym testem tego API będzie prędkość jego działania na pecetach naszych graczy.

W aktualizacji 4.3 robimy krok naprzód i zaczynamy testować Vulkan na działającej wersji gry na PC. Ten ruch ma na celu sprawdzenie tego API na szerszym zakresie kombinacji sprzętowych i większej liczbie graczy, a to z kolei pozwoli nam upewnić się, czy stabilność systemu Vulkan jest równie dobra albo lepsza niż dotychczas. Prosimy pamiętać, że wciąż testujemy i poprawiamy API Vulkan w Rainbow Six Siege, więc niektórzy gracze w chwili opublikowania tej wersji mogą nie zauważyć żadnych zmian, a potencjalnie prędkość działania gry może się dla nich zmniejszyć. W miarę kolejnych etapów wdrażania API Vulkan naszym celem będzie jego optymalizacja w celu poprawienia prędkości działania gry dla naszych graczy.

Podsumowanie

API Vulkan daje nam przewagę nad DirectX 11, dzięki której możemy zwiększyć prędkość działania Rainbow Six Siege. Co więcej Vulkan jest nowszym API, a to oznacza skuteczniejsze obniżenie obciążenia procesora i karty graficznej, jak również wsparcie dla nowoczesnych funkcjonalności, co z kolei może otworzyć drzwi ku nowym i ekscytującym rzeczom w przyszłości. W aktualizacji 4.3 publikujemy API Vulkan w wersji na PC w celu przeprowadzenia poszerzonych testów.

Aby uruchomić Rainbow Six Siege w wersji Vulkan, prosimy wybrać odpowiedni przycisk rozpoczynania rozgrywki podczas uruchamiania gry na PC. W programie uruchamiającym będziesz mógł wybrać DirectX 11 albo Vulkan.

[R6S] Vulkan DX gif

Pamiętajcie o ZAKTUALIZUJ SWOJE STEROWNIKI GRAFICZNE. (Aktualizacja Nvidia 441.87, aktualizacja AMD 20.1.4, aktualizacja Intel 26.20.100.7755 lub późniejsze wersje).


OBJAŚNIENIA TECHNICZNE

Vulkan to API, które zaprojektowano w taki sposób, aby pracowało bliżej poziomu sprzętowego.
Dzięki korzystaniu z API Vulkan, Siege może wykorzystać trzy współczesne funkcje, optymalizując dzięki nim obciążenie i prędkość działania:

  • Dynamiczne indeksowanie tekstur (znane również jako bindless rendering – renderowanie niewiążące)
  • Aliasowanie obiektu renderingu
  • Obliczenia asynchroniczne

Dynamiczne indeksowanie tekstur (znane również jako bindless rendering – renderowanie niewiążące)

JAK TO DZIAŁA:
__Dynamiczne indeksowanie tekstur pomaga w zmniejszeniu obciążenia procesora poprzez ograniczenie wysyłania wezwań typu draw __ (draw to przekazywane do API graficznego polecenie narysowania obiektu, który pojawi się na ekranie). Efekt ten osiągany jest przez dynamiczne wybieranie przez GPU tekstury używanej w shaderze zamiast wiązanie jej poprzez skorzystanie z CPU. Efektem jest mniejsza presja wywierana na sterowniku, a wolne cykle CPU przekładają się następnie na szybszą ogólną pracę CPU.

OCZEKIWANY REZULTAT:
Dzięki API Vulkan oraz dynamicznemu indeksowaniu tekstur, gracze, którzy mają słabszy procesor powinni zaobserwować wyższą i bardziej stabilną prędkość działania gry.

Aliasowanie obiektu renderingu i dynamiczne skalowanie renderingu

__ JAK TO DZIAŁA:__
Aliasowanie obiektu renderingu pozwoli nam na implementację systemu dynamicznego skalowania renderingu na PC, który dynamicznie dostosowuje współczynnik skalowania w zależności od obciążenia GPU. Gracze mogą wybrać docelową liczbę klatek na sekundę, a gra automatycznie dostosuje rozdzielczość renderowania, aby osiągnąć ten poziom. Dzięki temu gracze ze słabszymi GPU powinni zaobserwować mniejsze wahania prędkości działania gry.

OCZEKIWANY REZULTAT:
Od chwili swojej premiery Siege wykorzystywało najróżniejsze metody skalowania renderingu połączone z technologiami wygładzającymi TAA. Gracze na PC mogą niezależnie określić rozdzielczość swojej gry oraz rozdzielczość ekranu – to pozwala na renderowanie obiektów z niższą rozdzielczością, a następnie tymczasowe ulepszanie ich do wybranej rozdzielczości ekranu. Ulepszanie tymczasowe to metoda ulepszania wysokiej jakości, której rezultatem jest dobry antyaliasing z bardzo niskim rozmyciem, a dodatkowo sposób ten zwiększa prędkość działania gry.

Wraz z dodaniem optymalizacji dynamicznego skalowania renderingu, które działa równolegle z wygładzaniem TAA liczymy na poprawienie prędkości działania gry i zmniejszenie jej odchyleń dla graczy o słabszych GPU.

Obliczenia asynchroniczne

JAK TO DZIAŁA:
Obliczenia asynchroniczne (AsyncCompute) to cecha sprzętowa, która umożliwia nam równoległe wykonywanie zadań na GPU, dzięki czemu dysponujemy większą liczbą narzędzi i okazji do poprawienia i ulepszenia optymalizacji. Od chwili premiery Siege na konsolach używaliśmy na tych platformach rozwiązań AsyncCompute w celu zoptymalizowania technologii graficznych, takich jak Ambient Occlusion czy ScreenSpace Reflection. Karty graficzne obsługiwały już wcześniej AsyncCompute, ale API DX11 nie pozwalało nam na korzystanie z tych rozwiązań. Dzięki API Vulkan będzie to teraz możliwe.


WAŻNE INFORMACJE

Sterowniki graficzne:
PROSIMY O AKTUALIZACJĘ SWOICH STEROWNIKÓW GRAFICZNYCH. (Aktualizacja Nvidia 441.87, aktualizacja AMD 20.1.4, aktualizacja Intel 26.20.100.7755 lub późniejsze wersje). Przez kilka ostatnich miesięcy blisko współpracowaliśmy z firmami Nvidia, AMD oraz Intel w celu zoptymalizowania osiągów sterowników w Siege. Aby cieszyć się najlepszą jakością, prosimy zainstalować najnowsze sterowniki (jeśli sterowniki są nieaktualne, otrzymasz ostrzeżenie).

Wsparcie sprzętowe:
Niestety niektóre starsze rozwiązania sprzętowe nie są wspierane przez Vulkan.

  • W przypadku platformy Nvidia, Vulkan zaczyna być wspierany od serii Keplera (seria GTX 6). Dlatego też wspierane są GPU oparte na rozwiązaniach Kepler, Maxwell, Pascal oraz Turing. Każda karta firmy Nvidia wydana po 2012 roku powinna być wspierana. (Lista kart graficznych firmy Nvidia)
  • W przypadku platformy AMD, Vulkan zaczyna być wspierany od serii GCN1 (seria Radeon HD 77XX series). Każda karta firmy AMD wydana po 2012 roku powinna być wspierana. (Lista kart graficznych firmy AMD)
  • W przypadku platformy Intel, Vulkan zaczyna być wspierany od serii Gen9 (głównie Core IX-6XXX, Intel HD Graphic 5XX). Każda karta firmy Intel wydana po 2015 roku powinna być wspierana. (Lista kart graficznych firmy Intel)

Nadindeksowanie pamięci karty graficznej (żądanie większej ilości pamięci GPU niż dostępna):
Jedną z przewag sterowników DirectX 11 jest ich obsługa nadindeksowania pamięci karty graficznej. Przy wykorzystaniu Vulkana nadindeksowanie może wywołać zacinanie się i potencjalne zawieszanie się gry. Z tego względu, aby zapewnić sobie płynną rozgrywkę, gracze muszą zwracać uwagę na szacowane zużycie pamięci, wyświetlane w menu ustawień graficznych. Pokazujemy również ostrzeżenie za każdym razem, gdy wykrywamy nadindeksowanie. Aby temu zapobiec gracze powinni zmniejszyć jakość tekstur i/lub rozdzielczość w grze, ponieważ ta dwa elementy najmocniej przyczyniają się do występowania nadindeksowania.

Zachęcamy graczy z naszej społeczności PC do uruchamiania gry w wersji z Vulkanem, dzięki czemu wyniki naszych testów będą tak wierne profilowi naszej prawdziwej populacji, jak to możliwe. Prosimy dzielić się swoimi uwagami w mediach społecznościowych, na subreddicie R6 lub na naszych forach!

Sprawdź pozostałe media społecznościowe

facebook icontwitter iconyoutube icontwitch icon