Doczekaliśmy się wreszcie momentu w branży IT, gdzie na rynku pojawiły się pierwsze (sensowne) komputery napędzane procesorami ARM. Flagowa jednostka od firmy Qualcomm łączy ze sobą dużą moc obliczeniową z długim czasem pracy na baterii. A jak działają na niej gry?
O procesorach Qualcomma przeznaczonych do laptopów pisaliśmy niejednokrotnie. Dell swego czasu porównywał wydajność tego SoC w stosunku do rozwiązań konkurencji. W maju wielu producentów (Na czele z Acerem oraz Samsungiem) zaprezentowało ten procesor w swoich nowych notebookach. W lipcu tego roku nasz kolega redakcyjny miał okazję doświadczyć osobiście, jak pracuje komputer ASUS VivoBook S15 zasilany tą najmocniejszą jednostką od przedsiębiorstwa z San Diego. Generalnie możemy uznać, że Snapdragon X Elite to jednostka ciekawa, bardzo wydajna (przynajmniej podczas pracy wielowątkowej) oraz posiadająca dość niski pobór mocy. Oczywiście jak nie ma róży bez kolców, tak i ta jednostka obliczeniowa nie jest bez skazy. Wiele serwisów testujących wspomnianego wyżej ASUSa zwróciło uwagę na bardzo szybkie nagrzewanie się procesora. Cóż, w smukłym i pasywnie chłodzonym laptopie nie powinno nikogo to dziwić. Ciekawiej natomiast się robi, gdy przejdziemy do tematyki grania na tym układzie.
Snapdragon X Elite – bardzo niska i nierówna wydajność w grach
Redaktor serwisu PCWorld, który również testować ww. procesor (akurat tutaj w laptopie Surface) zwrócił uwagę na wydajność tego SoC w grach. Zauważył, że wiele tytułów ma wyraźne problemy z wydajnością, działaniem i/lub płynnym utrzymywaniem rozgrywki. W przypadku gier AAA był w stanie założyć, że mogą być one zbyt wymagające dla jednostki graficznej zintegrowanej z tym procesorem. Tylko, że grając w mniej wymagające tytuły, tj. Diablo II: Resurrected czy Civilization VI nie tylko problemy nie ustąpiły, ale również pojawiło się wiele innych bolączek, z którymi nie miał do czynienia chociażby na procesorach Intela (w połączeniu ze zintegrowaną grafiką Intel Arc). Zatem zaczął dociekać, co może być tego przyczyną.
Snapdragon X Elite – sterowniki i oprogramowanie są problemem?
Qualcomm Snapdragon X Elite to nowinka, jasne. Należy jednak pamiętać, że nie jest to żadna nowość (pod względem architektury) w komputerach osobistych. Sam Microsoft już od ponad 10 lat stara się wykorzystywać procesory ARM w swoich urządzeniach i systemach operacyjnych. Na początku poprzedniej dekady gigant z Redmond próbował przekonać konsumentów do tej architektury z pomocą NVIDII (SoC Tegra), wydając urządzenia z systemem Windows RT. Choć przedsięwzięcie zakończyło się porażką, to dla Microsoftu stanowiło ono lekcję - firma rozpoczęła podejście do tematu ARM od nowa. W systemie Windows 10 przygotowano odpowiednie SDK oraz nawiązano współpracę Qualcommem, by jak najlepiej wykorzystywać ich procesory (Snapdragony 8cx oraz 7c). Gdy przyszedł Windows 11, Microsoft nie tylko lepiej przygotował system pod nową architekturę, ale również zadbał o to, by oprogramowanie działało na tym systemie jak najlepiej. Nie dosyć, że emulacja programów napisanych pod x86 przebiega całkiem nieźle, to jeszcze przenoszenie i pisanie aplikacji oraz gier na ARM jest bardzo proste. Potwierdza to w rozmowie m.in. Jake Jackson, programista w niezależnym studiu gier Spacefarer R&D (które opracowało np. przygodową grę akcji „The Dawning Clocks of Time Remake”):
Właściwie [tworzenie gier] nie różni się zbytnio w systemie Windows i na konsolach (...). Najpierw opracowaliśmy grę jako tytuł na Nintendo Switch (w którego wnętrzu jest chip NVIDIA Tegra X1) [a potem przenieśliśmy go na system Windows]. Od samego początku wykonaliśmy już główną optymalizację i prace nad grafiką
Doświadczenie Jacksona może wydawać się pozornie nieistotne. Jednak skoro on i jego zespół są w stanie bez większych problemów przenieść grę z Nintendo Switch na Windows ARM, to można domniemywać, że tym bardziej większe studia mogłyby sobie z tym zadaniem poradzić. Podobne przemyślenia ma również Aaron Giles – programista, web developer i graphic designer, który pracował w takich firmach jak Microsoft, Connectix, czy LucasArts. W tej pierwszej pracował nad Hyper-V oraz Windows on ARM, a w tej ostatniej nad grami tj. Outlaws, jak również rozszerzeniem do Jedi Knight (Mysteries of the Sith). Obecnie pracuje on nad różnymi projektami, w tym nad DREAMM – emulatorem klasycznych gier LucasArts. To właśnie na bazie zdobytego doświadczenia, Giles opracował wersje DREAMM dla procesorów x86 i ARM dla systemów Linux, macOS i Windows.
DREAMM to dość wyjątkowy przypadek, ponieważ jest to emulator zawierający duży komponent języka asemblerowego (emulujący działanie procesora), który stworzyłem ręcznie dla systemów Intel i ARM (...). [Do tej drugiej architektury wystarczyła] tylko ponowna kompilacja i szczerze mówiąc, wszystko działa tak, jak powinno
Warto tu również wspomnieć, że nie tylko niszowi programiści przenoszą swoje tytuły na ARM. Mamy przecież masę gier, które działają na innej architekturze niż ta, na której działa większość komputerów klasy PC - Civilization VI, Fortnite, Baldur’s Gate 3, Stardew Valley czy Total War: Warhammer III. Są to przecież popularne tytuły, które mogą działać natywnie na urządzeniach ARM, ale nie są dostępne na laptopach z systemem Windows z tym procesorami. Więc na czym polega problem?
Granie na procesorach ARM – a gdzie niby dystrybuować te gry?
No i tu pojawia się problem. Cóż, cyfrowe platformy takie jak Steam, GOG czy Epic Games Store, nie dystrybuują gier dla systemu Windows na ARM.
Steamworks nie ma obecnie możliwości dystrybucji wersji gry na ARM, mimo że możliwość stworzenia bardzo wydajnej kompilacji w Unity istnieje już od jakiegoś czasu. Z jakiegoś powodu nie zostało to zaimplementowane do sklepu. GOG również nie dystrybuuje aplikacji pod ARM – powiedział Jackson.
I chociaż obsługa cyfrowej witryny sklepowej nie stanowi problemu dla Gilesa (ponieważ DREAMM jest dostępny bezpłatnie na jego stronie internetowej) to jest świadomy tego, iż brak obsługi ARM w tego typu miejscach dystrybucji, może stanowić problem dla innych programistów. Dodał on również:
Kompilacja dla ARM mogłaby być dla większości oczywistością. Dlatego też całkiem możliwe, że problemem jest brak punktów dystrybucyjnych obsługujących gry dla ARM. Tak, to jest problem. Tworzenie gier to sztuka, ale – dla większości twórców – to także biznes. Tworzenie wersji gry, którą trudno dystrybuować i sprzedawać, zdecydowanie nie jest dobrym biznesem.
Gdyby sklepy takie jak Steam, GOG i Epic Games Store otworzyły dystrybucję gier na tzw. Windows on ARM, usunęłoby to główną przeszkodę dla programistów. Niestety, żaden z wymienionych serwisów sprzedaży gier cyfrowych nie ogłosił jeszcze (ani nawet nie zasugerował) planów zaoferowania wsparcia dla ARM.
W ogóle architektura ARM i pisane na nią gier jest na ten moment traktowane po macoszemu. Dobrym przykładem jest system macOS - Steam dystrybuuje niektóre gry natywne dla najnowszych laptopów i komputerów od Apple (takie jak Baldur’s Gate 3), ale sam klient Steam na ich system nadal jest napisany dla x86. Ponadto wiele gier na komputery Mac dystrybuowanych za pośrednictwem Steam nie jest natywnych dla systemu ARM, a Steam nie posiada filtra oddzielającego gry na macOS opracowane dla x86 od tych opracowanych dla ARM. Ryan Shrout, były pracownik Intel i prezes Signal65 tak mówi o aktualnej sytuacji:
Spodziewam się, że zobaczymy więcej natywnych implementacji wersji gier na ARM. Należy jednak pamiętać, że w porównaniu z obecną wielkością i skalą rynku będzie to nadal stosunkowo powolny proces
Shout mówi to z własnego doświadczenia. Gdy dołączał do firmy Intel w 2018 roku, odpowiadał za kierowanie działaniami marketingowymi przedsiębiorstwa. Konkretnie trzymał pieczę nad wprowadzeniem przez firmę Intel dedykowanych kart graficznych z rodziny Arc. Chociaż wiele gier działało dobrze na ich GPU w momencie premiery, to niektóre tytuły zwyczajnie odmawiały posłuszeństwa. W rezultacie trzeba było zacząć budować relacje z twórcami gier, by wprowadzili do swoich gier odpowiednie optymalizacje. Według Shouta było to bardzo wyczerpujące zdanie, które Intel kontynuuje do dziś.
Bardzo trudno jest poprosić twórcę gry, którego tytuł został już wydany, aby do niego wrócił – zapewne już zaczął zajmować się już kolejnym projektem, a teraz go prosimy, by zrobił aktualizacje i/lub wprowadził łatki [by poprzednia gra została dostosowana do] nowych platform lub technologii, które się pojawiły. Widziałem, jak to samo działo się z Arc, gdy pracowałem w Intelu
Granie na procesorach ARM – ratunkiem pozostaje emulacja?
Jeśli Shrout ma rację, wiele tytułów, które są obecnie dostępne na PC (ale nie są już w fazie rozwoju) nigdy nie ujrzy światła dziennego na platformie Windows on ARM. Także na ten moment pozostaje jedynie korzystanie z emulatora Prism firmy Microsoft, który służy do uruchamiania aplikacji x86 w systemie ARM. Prism może zapewne współpracować z wieloma tytułami, ale najprawdopodobniej nigdy nie poradzi sobie z setkami tysiącami gier na PC, które powstały w ciągu ostatnich czterdziestu lat rozwoju systemu Windows.
To wszystko doprowadza nas do konkluzji – Granie na ARM w systemie Windows przez najbliższe kilka lat będzie mrzonką. Z jednej strony może być to zrozumiałe, gdyż na ten moment jednostki pokroju Snapdragon X Elite są pozycjonowane jako procesory do wielogodzinnej, wydajnej pracy. Z drugiej jednak strony należy założyć, że ARM prędzej czy później zacznie przejmować rynek komputerów. Sygnałem, że ten dzień nadszedł będą chociażby zmiany w sklepach cyfrowej dystrybucji gier.
Źródło: PCWorld, aarongiles.com, Wikipedia
Komentarze
6Jeśli na smartfonie przy użyciu emulatora ludzie są wstanie odpalić np. rdr2 czy wiele innych gier które w ogóle sięnie uruchamiają na snapdragonach w laptopie to co tu więcej dodawać.