Microsoft oficjalnie wprowadza DirectStorage 1.1 – nadchodzi akcelerowane przez GPU ładowanie zasobów
Microsoft zaprezentował swoją technologię DirectStorage 1.0 na początku tego roku, ale brakowało jej kilku kluczowych elementów. DirectStorage ma na celu przyspieszenie wydajności pamięci masowej wewnątrz nowoczesnych komputerów i konsol, przy czym high-endowe dyski SSD NVMe są głównym obszarem zainteresowania Microsoftu.
DirectStorage 1.0 ma wyeliminować wiele wąskich gardeł, które mogą obniżyć wydajność pamięci masowej, umożliwiając szybsze czasy ładowania gier i lepsze wykorzystanie nowoczesnych dysków SSD. Problem z DirectStorage 1.0 polega na tym, że oferuje on jedynie wsparcie dla dekompresji na procesorach, pozostawiając mnóstwo miejsca na dodatkową akcelerację.
Microsoft wprowadził teraz DirectStorage 1.1 i zapewnia wsparcie dla dekompresji na GPU, wykorzystując nowy format dekompresji o nazwie GDeflate, format kompresji, który został stworzony przez Nvidię. DirectStorage 1.1 ma na celu dalsze przyspieszenie czasu ładowania gier i strumieniowania zasobów poprzez wykorzystanie do tych zadań GPU zamiast CPU.
Dlaczego DirectStorage jest ważne?
DirectStorage 1.0 ma na celu poprawę prędkości transferu danych w aplikacjach, pozwalając użytkownikom wysokiej klasy urządzeń pamięci masowej NVMe na wykorzystanie wyższych poziomów przepustowości oferowanych przez ich sprzęt. W połączeniu z ulepszeniami pamięci masowej, które Microsoft zawarł w systemie Windows 11, Microsoft twierdzi, że DirectStorage 1.0 może skrócić czas ładowania nawet o 40%.
Teraz gdy Microsoft dał programistom pełny dostęp do wydajności nowoczesnych urządzeń pamięci masowej, programiści chcą teraz znaleźć sposoby na wykorzystanie tych danych w bardziej efektywny sposób. Posiadanie dostępu do takiego poziomu przepustowości nie jest przydatne, gdy pełne wykorzystanie go wymusi na procesorze duże obciążenia związane z dekompresją. Dlatego też Microsoft postanowił skupić się na dekompresji danych w DirectStorage 1.1.
W jaki sposób DirectStorage 1.1 jeszcze bardziej poprawia sytuację?
Spójrzmy prawdzie w oczy, w ciągu ostatniej dekady wydajność procesorów graficznych rosła w znacznie szybszym tempie niż wydajność procesorów CPU. Mając to na uwadze, sensownym rozwiązaniem dla twórców oprogramowania jest przenoszenie zadań związanych z CPU na układy GPU, gdy tylko jest to możliwe. Wraz z DirectStorage 1.1, Microsoft dodał obsługę dekompresji na GPU, która pozwala na ładowanie scen niemal 3x szybciej niż dekompresja na CPU.
Wykorzystanie DirectStorage 1.1 z dekompresją GPU pozwala twórcom oprogramowania na wykorzystanie wysokich prędkości przesyłu danych dostępnych w dyskach SSD NVMe i umożliwia układom GPU przyspieszenie dekompresji danych. Pozwala to na zwolnienie miejsca w procesorze dla innych zadań i umożliwia deweloperom znacznie szybsze ładowanie i wykorzystywanie danych z pamięci masowej.
Wczesne sterowniki DirectStorage 1.1 dla GPU od AMD, Intela i Nvidii
Dekompresja GPU jest obsługiwana przez wszystkie układy GPU DirectX 12 + Shader Model 6.0. Jednak jedną z zalet DirectStorage 1.1 jest to, że producenci sprzętu GPU mogą zapewnić dodatkowe optymalizacje dla swojego sprzętu, zwane metakomendami.
Więcej informacji na temat obsługi tych metakomend przez partnerów firmy Microsoft można znaleźć w poniższych linkach. Jak zawsze, zaleca się aktualizację do najnowszych sterowników dla sprzętu do gier w celu uzyskania najlepszej wydajności.
AMD: https://gpuopen.com/amd-support-for-microsoft-directstorage-1-1
Intel: https://www.intel.com/content/www/us/en/developer/articles/news/directstorage-on-intel-gpus.html
NVIDIA: https://developer.nvidia.com/blog/accelerating-load-times-for-directx-games-and-apps-with-gdeflate-for-directstorage/
DirectStorage 1.1 pomoże sprawić, że przyszłe gry i programy będą w mniejszym stopniu zależne od procesora i pozwolą na znacznie szybsze ładowanie się ich. Z czasem producenci kart graficznych będą mogli dodać specjalne jednostki dedykowane dekompresji GPU, odciążając ich jednostki cieniujące i obliczeniowe, aby wyeliminować wpływ DirectStorage na wydajność GPU.