W przeszłości gry nie były zbyt skomplikowane. Poziomy grywalne były raczej małe, postaci niewiele, a tekstury proste. Z biegiem lat gry poprawiały się wykładniczo. Od ogromnych otwartych światów po bardzo szczegółowe postacie, gry często wyglądają fotorealistycznie.

Ale wszystkie te innowacje mają swoją cenę.

Nowoczesne gry potrzebują dziesiątek gigabajtów danych, aby renderować te piękne postacie i środowiska. Jednak niektóre narzędzia używane przez twórców gier nie zostały stworzone do obsługi tak dużej ilości danych, co powoduje wąskie gardło wydajności.

W tym miejscu pojawia się Microsoft DirectStorage.

Dlaczego potrzebujemy Microsoft DirectStorage?

Zanim omówimy DirectStorage, zobaczmy, jak działają obecne metody przesyłania strumieniowego danych.

Po uruchomieniu gra potrzebuje danych, takich jak tekstury, modele postaci i dźwięk, które są wyświetlane na ekranie. Te dane są przechowywane na urządzeniu magazynującym, takim jak dysk twardy. Gra żąda tych danych za pośrednictwem narzędzi programowych znanych jako interfejsy programowania aplikacji (API).

instagram viewer

Gdy gra zażąda danych za pośrednictwem interfejsu API, pobiera dane z urządzenia pamięci masowej i umieszcza je w systemowej pamięci RAM, a następnie przekazuje je do GPU w celu renderowania.

Podczas pobierania gry wszystkie dane są kompresowane, aby zaoszczędzić jak najwięcej miejsca. Jednak procesory graficzne nie mogą używać skompresowanych danych. Dlatego musi zostać zdekompresowany.

Więc gdy dane znajdą się w pamięci RAM, trafiają do procesora w celu dekompresji.

Po dekompresji dane żądane przez grę są kopiowane do pamięci VRAM GPU.

Wreszcie GPU renderuje te dane w piękną grafikę, którą widzimy na wyświetlaczu.

Ta metoda przesyłania strumieniowego ma dwie główne wady.

Po pierwsze, dekompresja danych zajmuje dużo czasu. Powoduje to nie tylko wydłużenie czasu ładowania gry, ale także sprawia, że ​​procesor jest niedostępny do innych zadań. A ponieważ procesor przez większość czasu jest poddawany dekompresji, nie może nadążyć za wymaganiami GPU, co skutkuje niższą liczbą klatek na sekundę.

Po drugie, istniejące interfejsy API pamięci masowej nie wykorzystują w pełni możliwości nowoczesnego sprzętu do przechowywania danych. Na przykład niegdyś urządzenia pamięci masowej były powolnymi mechanicznymi dyskami twardymi, które nie miały szybkości i przepustowości potrzebnej do wysyłania gigabajtów danych na sekundę. Tak więc interfejsy API zostały napisane w celu przesyłania strumieniowego tylko ograniczonej ilości danych.

Deweloperzy, którzy używają obecnie tych starych interfejsów API, muszą obejść ten ograniczony budżet na strumieniowe przesyłanie danych za pomocą metod takich jak zmniejszenie złożoności sceny, aby zminimalizować potrzebę zasoby, renderowanie tylko tekstur i środowiska, które gracz widzi, oraz zwiększanie czasu ładowania, aby upewnić się, że gra ma wystarczająco dużo czasu, aby załadować wszystkie zasoby wcześniej startowy.

Te metody działają lepiej w teorii niż w praktyce. Ponieważ nawet z najszybszymi dyskami na rynku gry nadal mają długi czas ładowania, wyskakujące tekstury i niewielkie odległości do rysowania.

DirectStorage ma na celu pomóc programistom w rozwiązywaniu tych problemów poprzez lepszy proces przesyłania strumieniowego danych.

Związane z: Najlepsze narzędzia do podkręcania GPU dla lepszej wydajności w grach

Jak działa Microsoft DirectStorage?

Microsoft DirectStorage to zestaw interfejsów API magazynu, których celem jest naprawienie wszystkiego, co jest nie tak z obecnymi interfejsami API.

Gdy programista wywołuje interfejsy API DirectStorage w celu zażądania danych z urządzenia pamięci masowej, proces przebiega prawie tak samo, z dwiema głównymi różnicami.

Po pierwsze, po skopiowaniu danych do pamięci RAM, nie ma procedury dekompresji procesora. Dane nie są kopiowane do CPU i dekompresowane. W przeciwieństwie do starych interfejsów API skompresowane dane są wysyłane bezpośrednio do GPU.

Po drugie, interfejsy API w pełni wykorzystują superszybki sprzęt NVMe SSD. DirectStorage wymaga do działania dysku SSD NVMe, ponieważ dyski SSD NVMe mają wykładniczo większą przepustowość niż mechaniczne dyski twarde. DirectStorage wykorzystuje pełną przepustowość tych dysków SSD, która jest rzędu GB / s, do odczytu wielu danych naraz. W przeciwieństwie do starszych interfejsów API, które odczytują dane powoli i w kolejności MB / s.

Tak więc GPU otrzymuje jednocześnie dużo skompresowanych danych i nie musi czekać na nadejście większej ilości danych przed renderowaniem. Pozostaje tylko zdekompresować dane do renderowania przez GPU.

Pakiety DirectStorage w najnowocześniejszych technikach dekompresji GPU. Procesory graficzne dekompresują dane ze znacznie większą szybkością niż procesory. Mogą również wytrzymać tę szybką dekompresję przez długi czas, czego procesor nie może. To właśnie sprawia, że ​​GPU jest głównym kandydatem do przyszłej dekompresji danych.

Przeładowanie dekompresji do GPU zwalnia również procesor do obsługi innych zadań, takich jak przetwarzanie dźwięku i przygotowywanie ramek do wyświetlenia.

W jaki sposób DirectStorage ulepsza gry?

Ponieważ DirectStorage niezwykle szybko dostarcza Twojemu GPU mnóstwo danych, może zrewolucjonizować Twoje wrażenia z gry.

Po pierwsze, jeśli programiści zbudują swoje gry za pomocą DirectStorage, gry będą ładowane niemal natychmiastowo. Nie musisz więc czekać, aby przesiąść się przez długi ekran ładowania, aby wskoczyć do swojej ulubionej gry.

Po drugie, ponieważ DirectStorage zwalnia procesor do obsługi innych zadań, zwiększa wydajność. Innymi słowy, będziesz uzyskaj lepszą liczbę klatek na sekundę, nawet jeśli nie zaktualizowałeś swojego sprzętu.

Wreszcie, dzięki DirectStorage, gry będą miały bardziej ekspansywne i złożone światy z minimalną ilością pojawiających się tekstur. Umożliwi to programistom tworzenie gier nowej generacji bez wstrzymywania ich kreatywnej wizji z powodu obaw związanych ze strumieniowym przesyłaniem danych.

DirectStorage może zmienić gry na dobre, jeśli pozwolą na to programiści

Microsoft mocno naciska na DirectStorage. I słusznie. Stare metody przesyłania strumieniowego danych są wąskim gardłem, które powstrzymywało gry.

Jeśli DirectStorage stanie się standardem branżowym, gry wejdą w nową erę immersji.

Jeśli Microsoft może udoskonalić DirectStorage i przekonać programistów, że warto poświęcić na to czas, gracze mogą wreszcie uwolnić się od irytacji, takich jak czas ładowania i wyskakujące tekstury.

Miejmy więc nadzieję, że nadejdzie dzień, w którym nie będzie fałszywych przejażdżek windą, niekończących się klatek schodowych i szybkiej podróży, która zajmie milion lat.

E-mail
Wysoka liczba klatek na sekundę vs. Lepsza rozdzielczość: co jest ważniejsze w grach?

Jeśli nie możesz sobie pozwolić na zaawansowaną konfigurację do gier, musisz zrozumieć kompromisy między wysoką liczbą klatek na sekundę a wysokimi rozdzielczościami podczas grania.

Czytaj dalej

Powiązane tematy
  • Windows
  • Hazard
  • Microsoft
  • Produkcja gier
  • Gry komputerowe
O autorze
Fawad Murtaza (13 opublikowanych artykułów)

Fawad jest niezależnym pisarzem na pełny etat. Kocha technologię i jedzenie. Kiedy nie je i nie pisze o Windowsie, albo gra w gry wideo, albo pisze dla swojego dziwacznego bloga Techsava.

Więcej od dostawcy Fawad Murtaza

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Jeszcze jeden krok…!

Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.

.