Wsparcie dla współbieżnego renderowania: kolejny krok w przód

Aktualizacja 1.0 była prawdziwym kamieniem milowym dla World of Tanks. Wzbogaciła naszą grę o całkowicie przerobiony silnik, Core, z jego błyszczącą grafiką i nagraniami audio wysokiej jakości. 

Grafika gry jest teraz zniewalająca, dzięki całej tej ciężkiej pracy, którą włożyliśmy w nią w ubiegłym roku. Jest jednak coś, o czym możecie nie wiedzieć: jedną z kluczowych możliwości, które daje nowy silnik, jest poza fantastyczną grafiką całe morze możliwości optymalizacji wydajności i dalszych implementacji współbieżnego renderowania. Dzięki nowym technologiom jesteśmy w stanie wyciągnąć absolutnie wszystko z każdej karty graficznej i wykorzystać ją na 100%.

Ale na tym się nie zatrzymaliśmy. Zrobiliśmy wszystko, co się dało, by maksymalnie wykorzystać również moc procesora.

Krótkie omówienie

Do niedawna wprowadzanie technologii współbieżnych nie miało dla nas większego sensu, bo większość graczy grała na komputerach z podwójnymi rdzeniami. Cóż, w takim wypadku już maksymalnie wykorzystujemy możliwości obu rdzeni.

Jednakże w przeciągu ostatnich kilku lat zauważyliśmy znaczący wzrost liczby graczy posiadających cztero- lub sześciordzeniowe procesory i ten trend nie wykazuje oznak spowolnienia. Na chwilę obecną 60% naszych graczy posiada czterordzeniowe procesory.

Po dokładnej analizie statystyk okazało się, że nadszedł czas, by World of Tanks zrobiło kolejny ważny, technologiczny krok – w kierunku pełnego wsparcia współbieżności renderingu, opracowanej we współpracy z Intelem. Aby tego dokonać, musieliśmy „nauczyć” nasz silnik wykonywania operacji nie jedna po drugiej, ale jednocześnie na wszystkich dostępnych rdzeniach.

aktualizacja 1.0, bez wsparcia dla renderowania współbieżnego

aktualizacja 1.4, ze wsparciem dla renderowania współbieżnego

Wyzywające, ale interesujące zadanie

Brzmi nieźle, ale to naprawdę trudne zadanie.

Problem tkwi w tym, że na najniższych ustawieniach procesor musi przetwarzać wiele zadań dla renderingu. Natomiast przy ustawieniach ultra wysokich, liczba tych operacji zwiększa się. Sytuacja tym bardziej się komplikuje, bo te zadania nie są podobne do siebie – jedne da się policzyć szybciej, inne wolniej. Wiele z nich zależy od siebie nawzajem, a przed rozpoczęciem nowych obliczeń trzeba poczekać na zakończenie poprzednich. 

Wzrost wydajności konkretnego komputera zależy od wielu czynników, w tym:

  • wersji systemu operacyjnego,
  • procesora, płyty głównej, karty graficznej i innych komponentów.

Trzeba również pamiętać, że współbieżny rendering nie jest statyczną, ale dynamiczną funkcjonalnością, która działa różnie przy różnych ustawieniach, np. dla różnych ustawień grafiki.

  • Na komputerach ze słabymi procesorami i kartami graficznymi wzrost wydajności będzie minimalny.
  • Jeśli procesor jest mocny, ale karta graficzna wolna, również nie zauważycie znaczącego wzrostu wydajności. Karta graficzna i tak już działa na maksymalnych obrotach, nawet bez wsparcia równoległego renderingu, więc nie będzie w stanie dostarczać grafiki najlepszej jakości.
  • Jeśli jednak procesor jest wielordzeniowy, ale niezbyt mocny, ale posiadacie szybką kartę graficzną, wzrost wydajności będzie wyraźnie widoczny.

Współbieżny rendering docenią również grający w World of Tanks na laptopach. Zazwyczaj komputery tego typu są wyposażone w wielordzeniowe, wolno taktowane procesory z technologią turbo-boost. Zwiększa ona napięcie na rdzeniu, chwilowo podnosi częstotliwość, a co za tym idzie wydajność procesora. Jednostajne obciążenie na wszystkich rdzeniach pomoże również zmniejszyć zużycie energii laptopa, wydłużając czas gry na baterii.

Najczęściej zadawane pytania

Rozwiń

Z pewnością macie pytania dotyczące zysków wydajności Waszych komputerów oraz innych spraw technicznych. Poniżej znajdziecie odpowiedzi na niektóre pytania z tych tematów oraz odpowiedzi na pytania pozostawione na naszym forum.

  • Czy jest różnica między „współbieżny” a „wielordzeniowy”?

W zasadzie nie. Jedyną różnicą jest to, że „współbieżny” jest terminem encyklopedycznym, a nawet naukowym, wykorzystywanym głównie przez ekspertów, a „wielordzeniowy” to bardziej potoczny zwrot, używany przez graczy i laików.

  • Na jakie parametry gry wpłynie wsparcie dla współbieżnego renderingu?

Może zwiększyć liczbę klatek na sekundę (FPS). Wszystko zależy od możliwości konkretnego komputera. Pamiętajcie, że wzrost wydajności może nie wystąpić u wszystkich graczy, a czasami może być nieomal niezauważalny.

  • Czy współbieżne renderowanie będzie działać tylko na komputerach PC z procesorami firmy Intel?

Renderowanie współbieżne zostało opracowane tak, aby wspierało wszystkie konfiguracje komputerów osobistych z dowolnymi procesorami wielordzeniowymi, nie tylko tymi firmy Intel.

  • Jak współbieżność zostanie zaimplementowana dla procesorów z dwoma lub jednym rdzeniem?

Będzie zaimplementowana tak samo, jak dla procesorów z 4 czy 8 rdzeniami. Liczba rdzeni nie ma znaczenia – jeśli jest ich wiele, będziemy w stanie lepiej wykorzystać możliwości obliczeniowe procesora. Jeśli procesor ma mniej rdzeni, szybciej wykorzystamy wszystkie jego możliwości i być może nie będziemy obciążać w 100% karty graficznej.

  • Moja karta graficzna jest obciążona w 100%, a procesor tylko w 30-40%. Czy współbieżne renderowanie pozwoli na zwiększenie wydajności mojego komputera? I czy ta technologia jest bezpieczna dla mojej karty graficznej? 

W tym wypadku wzrostu wydajności nie będzie. Nie ma powodów do obaw – ta technologia nie uszkodzi karty graficznej. Trzeba pamiętać, że jeśli gra obciąża kartę graficzną w 100%, zyski wydajności się nie pojawią.

  • Czy zużycie energii mojego laptopa/komputera się zwiększy?

Wręcz przeciwnie, zmniejszy się, gdyż wszystkie rdzenie będą równomiernie obciążone, a w konfiguracjach z dużą liczbą rdzeni ich obciążenie nie przekroczy 80%. W związku z tym system nie będzie musiał podnosić częstotliwości taktowania procesora, co zmniejszy generowanie ciepła i zużycie energii.

  • Czy technologia Hyper-Threading firmy Intel i technologia SMT firmy AMD będą wspierane?

Tak, wszystkie procesory wspierające te technologie będą efektywniejsze w naszej grze.

Zwiń

Co dalej?

Implementacja współbieżnego renderowania grafiki to ważny pierwszy krok, podwaliny naszej dalszej pracy. To rozwiązanie pozwoli nam na implementację współbieżnego renderingu w innych podsystemach gry.

Jednym z celów, ku którym dążymy, implementując współbieżny rendering, jest to, byście mogli cieszyć się świetną grafiką i dynamiczną rozgrywką na komputerach, którymi dysponujecie bez potrzeby ich rozbudowy. Chcemy, by grafika i dźwięk w World of Tanks były jeszcze bardziej rzeczywiste i wciągające, ale wymagania systemowe pozostały bez zmian.  

Testowanie rozwiązań

Aktualnie testujemy technologię współbieżności na komputerach z różnymi konfiguracjami. Takie testy zabierają dużo czasu, bo nasi gracze mają komputery z bardzo różnorodnymi ustawieniami. Ale już teraz możemy powiedzieć, że ta technologia jest stabilna na komputerach w różnych konfiguracjach. Sprawdźcie, jakie wyniki osiągnęliśmy w naszych ostatnich testach!

Wszystkie wyniki otrzymano w warunkach idealnych w trakcie naszych testów wewnętrznych.

Procesor: AMD Athlon 200GE, Karta graficzna: Vega 3, Pamięć RAM: Dual Channel 16Gb DDR-4 2667, 1920X1080 (Minimalna)

Procesor: Intel Core i3-6100, Karta graficzna: Nvidia GeForce GTX 1060 6Gb, Pamięć RAM: Single Channel 8Gb DDR-4 2133, 1920X1080 (Ultra)

Procesor: Intel Core i7-3770, Karta graficzna: Nvidia GeForce GTX 1070 Ti, Pamięć RAM: Dual Channel 16Gb DDR3-1600, 1920X1080 (Ultra)

Będziemy kontynuować prace nad optymalizacją i ulepszaniem silnika Core. Wyglądajcie nowych wiadomości!

Podyskutuj na Discordzie

Zamknij