Forum

Gry na M1

8thark

Oryginalny plakat
18 kwi 2011
  • 23 kwi 2021
Na początek chciałbym podzielić się kilkoma filmikami z youtube, na którym pewien facet testował kilka gier na M1 (Macbook Pro). Tak więc Mini powinien uzyskać zbliżoną wydajność, a iMac nieco lepszą (zakładam).

W pierwszym filmie przetestowano 25 gier, w tym 64-bitowe gry Metal 2 i OpenGL, aplikacje na iPhone'a i iPada na Maca oraz gry 32-bitowe.

Spojler:kliknij tutaj, aby zobaczyć listę większości z 25 gier w filmie Kresy 3
Okres półtrwania 2
World of Warcraft
Shadow of the Tomb Raider
Minecraft
DOTA 2
BioShock 2: Remastered
Pośród nas
Wyścigi mobilne F1
Dolina Stardew (iOS)
Martwy spust 2
Rycerz Dusz
Dolina Pomników
Dolina Stardew (parowa)
Rajd DiRT
Borderlands 2
Counter Strike globalna ofensywa
Cuphead
Śródziemie: Cień Mordoru
Umierające światło
Hades
Bezdrożny
Deus Ex: Rozłam Ludzkości
Batman Arkham City
The Sims 4

Drugi film zawiera 33 przetestowane gry, które obejmują szereg gier Arm64, Parallels 16, Rosetta 2 i CrossOver.

Spojler:kliknij tutaj, aby zobaczyć listę większości z 33 gier w filmie Izolacja obcych
Opowieść o zarazie: niewinność
Zremasterowany BioShock
Bard’s Tale IV: DC
CS GO
SteamVR
GTA IV
The Elder Scrolls Online
SUPERHOT: MCD
CIEMNE DUSZE: ODNOWIONE
Złodziej
Crusader Kings III
PADLINA
LEGO Iniemamocni
Fallout 4
Factorio
F1 2016
Pathfinder: Kingmaker - EPE
Wyścigi motocyklowe 4
przełącznik
Aragami
Przetrwać
Simsy 2
PAYDAY 2
Yooka-Laylee
Długa ciemność
Skul: Zabójca Bohaterów

W trzecim filmie przetestowano 32 gry

Spojler:kliknij tutaj, aby zobaczyć listę większości z 32 gier w filmie Metro Exodus
Ścieżka Wygnania
Kosmiczna Startopia
NBA 2K21 Arcade Edition
Yakuza 0
GWINT: Wiedźmińska Gra Karciana
Gorączka transportowa 2
Gzdoom
Wreckfest
Ori and the Blind Forest: Definitive Edition
Ori i Wola Ogników
Nierealny turniej
Frostpunk
Poza błękitem
Ostatnie ognisko
POŚWIĘCENIE
Zasada Talosa
Hellblade: Ofiara Senuy
Autostopowicz
Wejdź do Gungeonu
Valheim
Intruz
Assassin's Creed IV: Black Flag
Disco Elysium: Ostateczne cięcie
opatrunki
Miasta: Skylines
Warstwy strachu 2
Chłopiec Narity
Małe koszmary

Żadna z tych gier nie jest krwawiąca ani końcowa grafiką 2021, ale dwa filmy tutaj powinny dać dobry przegląd tego, jak zdolny jest M1 do gier. Jest o wiele bardziej wydajny, niż początkowo sądziłem.
Reakcje:AdamInKent, George Dawes, matrix07 i 1 inna osoba

Niskie wieszaki

26 listopada 2017 r.


  • 23 kwi 2021
Jedyną grą, w którą gram na Macu mini, jest World of Warcraft. I działa całkiem nieźle, dodając przyzwoitą rozdzielczość przy 60 klatkach na sekundę na moim M1 Mac mini. Nie mam żadnych skarg, za cenę, jaką zapłaciłem za mini.

Apple wykonało fantastyczną robotę z M1 i mogę sobie tylko wyobrazić, o ile lepszy będzie z biegiem lat, gdy go ulepszą. Nie wyobrażam sobie, gdzie będzie sieć w czterech czy pięciu generacjach tych procesorów.
Reakcje:LeeW, George Dawes i Retrostarscream

Haraldowie

3 stycznia 2014
Dolina Krzemowa, Kalifornia
  • 25 kwi 2021
Wydajność gier jest zaskakująco dobra, nawet w przypadku gier Windows działających pod kontrolą hiperwizora Windows 10 i emulacji x86.
Reakcje:the8thark, George Dawes i thedocbwarren

George Dawes

17 lipca 2014 r.
=VH=
  • 29 kwi 2021
Wyobraź sobie appletv z chipem m1!

Wtedy naprawdę mogliby nazwać Apple Arcade, poziom arkadowy/konsolowy..
Reakcje:AdamInKent, SigEp265 i the8thark TEN

leman

14 paź 2008
  • 29 kwi 2021
dmccloud powiedział: Używając „konwencjonalnej” logiki, wydajność graficzna M1 nie powinna być tak dobra, jak jest.

Jeśli przez konwencjonalną logikę masz na myśli popularne przekonanie, że „iGPU są wolne”. To to samo, co „ARM jest wolne” — tylko dlatego, że paradygmat był tradycyjnie używany w przypadku tanich urządzeń o niskiej wydajności, nie oznacza to, że nie można go wykorzystać do zbudowania urządzenia o wysokiej wydajności.

M1 ma doskonały potencjał w zakresie wydajności w grach, zwłaszcza jeśli gry wykorzystywałyby jego unikalne cechy. TBDR firmy Apple pozwala radykalnie uprościć i usprawnić wykorzystanie kodu i zasobów w wielu nowoczesnych podejściach do renderowania. Tradycyjne procesory graficzne wymagają przeskakiwania przez nieoczywiste przeszkody podczas robienia pewnych rzeczy, z urządzeniami Apple może to być zamiast tego spacer po parku.

dmccloud powiedział: Jednak opiera się to na oglądaniu rzeczy przez paradygmat x86 (Intel), gdzie iGPU są w najlepszym razie gorącymi śmieciami, całkowicie bezużytecznymi w inny sposób. UMA odgrywa w tym dużą rolę, ponieważ zarówno procesor, jak i GPU mogą jednocześnie uzyskiwać dostęp do tych samych danych, zamiast kopiować dane na partycje systemowe i iGPU, a następnie uzgadniać zmiany wprowadzone na obu kopiach.

UMA ma znacznie mniejsze znaczenie dla gier (niż powiedzmy dla oprogramowania do tworzenia treści), ponieważ bardzo rzadko gry wymagają dostępu do danych zarówno przez CPU, jak i GPU. Zdecydowana większość gier używa procesora jako obszaru do konfiguracji zasobów, które są następnie kopiowane i używane na GPU. Otóż ​​to.

I jeszcze kilka uwag:

- Sam fakt, że masz UMA, nie oznacza, że ​​nie musisz kopiować danych. Funkcjonalność zero-kopiowania wymaga jawnego użycia wyspecjalizowanych interfejsów API i konfiguracji danych w bardzo szczególny sposób. Gry po prostu nie przejmują się tym. Więc nadal musisz kopiować dane, po prostu sama kopia jest znacznie szybsza (otrzymujesz pełną przepustowość 68+ GBps zamiast 15 GBps PCI-e 3.0 16x używanych w wysokiej klasy procesorach graficznych do gier)

- Intel (i AMD) iGPU używały UMA od lat. Ich topologia pamięci jest praktycznie identyczna z topologią Apple (pamięć dostępowa do procesora i GPU poprzez współdzieloną pamięć podręczną ostatniego poziomu). Apple ma po prostu znacznie bardziej wydajne kontrolery pamięci (a także rozmiary pamięci podręcznej GPU na poziomie komputera stacjonarnego) — optymalizują one tutaj wydajność i wydajność, a nie kosztują jak inni dostawcy.
Reakcje:thekev, falainber, JMacHack i 1 inna osoba S

wrzeciono

5 paź 2020
  • 29 kwi 2021
leman powiedział: - Intel (i AMD) iGPU używały UMA od lat. Ich topologia pamięci jest praktycznie identyczna z topologią Apple (pamięć dostępowa do procesora i GPU poprzez współdzieloną pamięć podręczną ostatniego poziomu). Apple ma po prostu znacznie bardziej wydajne kontrolery pamięci (a także rozmiary pamięci podręcznej GPU na poziomie komputera stacjonarnego) — optymalizują one tutaj wydajność i wydajność, a nie kosztują jak inni dostawcy.
Żadne iGPU Intel i AMD w ogóle nie używają UMA.

Sekcje Intel i AMD iGPU części pamięci RAM systemu, które mają być używane jako vRAM, reszta systemu nie ma dostępu do tej części pamięci RAM w ogóle, tylko GPU może.

Inaczej jest w przypadku UMA, w przypadku UMA cały system ma dostęp do całej pamięci RAM przez cały czas.

A jeśli chodzi o gry „nie korzystające z UMA”, nie ma to nic wspólnego z grami, a wszystko ze sterownikami graficznymi. Gra po prostu wywołuje za pośrednictwem interfejsu API sterownik graficzny, który następnie sortuje obsługę pamięci.
Reakcje:cal6n i dmccloud TEN

leman

14 paź 2008
  • 29 kwi 2021
Spindel powiedział: Żadne iGPU firmy Intel i AMD w ogóle nie korzystają z UMA.

Sekcje Intel i AMD iGPU części pamięci RAM systemu, które mają być używane jako vRAM, reszta systemu nie ma dostępu do tej części pamięci RAM w ogóle, tylko GPU może.

To jest po prostu złe. Dokumentacja Intela wyraźnie stwierdza, że ​​ich iGPU zaczynające się co najmniej od Sandy Bridge (jeśli dobrze pamiętam) używają UMA i wystawiają rozszerzenia danych CPU/GPU z zerową kopią dla OpenCL, które działają identycznie jak funkcjonalność z zerową kopią danych w Apple Metal.

Spindel powiedział: A jeśli chodzi o gry „nie korzystające z UMA”, nie ma to nic wspólnego z grami, a wszystko ze sterownikami graficznymi. Gra po prostu wywołuje za pośrednictwem interfejsu API sterownik graficzny, który następnie sortuje obsługę pamięci.

To znowu jest błędne (przynajmniej w odniesieniu do tematu). Graficzne interfejsy API wymagają ręcznego kopiowania danych (przez podanie z góry wskaźnika danych lub przy użyciu interfejsów API kopiowania/mapowania). Tak więc UMA lub nie UMA, jeśli używasz czegoś takiego jak MTLBuffer.contents() lub MTLTexture.replace(), zawsze wykonujesz kopię pamięci z magazynu przydzielonego przez twoją aplikację do magazynu przydzielonego przez sterownik. Musisz użyć MTLDevice.makeBuffer(bytesNoCopy: ), jeśli chcesz zachować zero kopii.

Podsumowując: tylko dlatego, że Twój system ma UMA, nie oznacza to, że wszystkie kopie danych można magicznie wyeliminować.
Reakcje:Krevnik

dmccloud

7 września 2009
Anchorage, AK
  • 29 kwi 2021
leman powiedział: To jest po prostu złe. Dokumentacja Intela wyraźnie stwierdza, że ​​ich iGPU zaczynające się co najmniej od Sandy Bridge (jeśli dobrze pamiętam) używają UMA i wystawiają rozszerzenia danych CPU/GPU z zerową kopią dla OpenCL, które działają identycznie jak funkcjonalność z zerową kopią danych w Apple Metal.



To znowu jest błędne (przynajmniej w odniesieniu do tematu). Graficzne interfejsy API wymagają ręcznego kopiowania danych (przez podanie z góry wskaźnika danych lub przy użyciu interfejsów API kopiowania/mapowania). Tak więc UMA lub nie UMA, jeśli używasz czegoś takiego jak MTLBuffer.contents() lub MTLTexture.replace(), zawsze wykonujesz kopię pamięci z magazynu przydzielonego przez twoją aplikację do magazynu przydzielonego przez sterownik. Musisz użyć MTLDevice.makeBuffer(bytesNoCopy: ), jeśli chcesz zachować zero kopii.

Podsumowując: tylko dlatego, że Twój system ma UMA, nie oznacza to, że wszystkie kopie danych można magicznie wyeliminować.

Niezależnie od tego, jak nazywa to Intel, nadal nie jest to prawdziwa UMA. Przejdź do Best Buy i spójrz na dowolny z laptopów na wystawie tylko ze zintegrowaną grafiką. Zobaczysz, że powiedzą coś w stylu „8 GB RAM (dostępne 6,03 GB). Dzieje się tak, ponieważ nadal dzielą fizyczną pamięć RAM na wirtualne partycje procesora/iGPU. Intel lubi wprowadzać w błąd lub nawet kłamać w swoich materiałach marketingowych, a czasem technicznych. Kiedy ogłosili swoje procesory 11. generacji, porównali tylko swoje iGPU (które w rzeczywistości było tylko rebrandingiem grafiki „UMA” używanej w częściach 9. i 10. generacji) z AMD Vega 4 i nVidia MX250 (która została już zastąpiona przez MX350) w celu udowodnienia, że ​​ich grafika jest lepsza. Grupa z nas obserwowała tę prezentację w pracy i rozszarpała firmę Intel na strzępy pod kątem ilości wprowadzających w błąd stwierdzeń, które wepchnęli do 47-minutowej nagranej prezentacji.
Reakcje:dahlblom x

xWhiplash

Współpracownik
21 paź 2009
  • 29 kwi 2021
M1 pokonuje lub konkuruje z GTX 1050 Ti, który wciąż zajmuje drugie miejsce w ankiecie na temat sprzętu Steam.

Ankieta dotycząca sprzętu i oprogramowania Steam
Mam nadzieję, że zanim dotrze do dużego chłopca Mac Pro, procesor graficzny będzie dość konkurencyjny. Próba zdobycia nawet RTX 3060 jest niemożliwa. x

xWhiplash

Współpracownik
21 paź 2009
  • 29 kwi 2021
leman powiedział: To jest po prostu złe. Dokumentacja Intela wyraźnie stwierdza, że ​​ich iGPU zaczynające się co najmniej od Sandy Bridge (jeśli dobrze pamiętam) używają UMA i wystawiają rozszerzenia danych CPU/GPU z zerową kopią dla OpenCL, które działają identycznie jak funkcjonalność z zerową kopią danych w Apple Metal.
Jeśli czytasz dokument, musi to być zmiana programistyczna. Ile oprogramowania ma tę zmianę?

oprogramowanie.intel.com

Jak najlepiej wykorzystać OpenCL™ 1.2: Jak zwiększyć wydajność poprzez...

Pobieranie Pobieranie Jak najlepiej wykorzystać OpenCL™ 1.2: jak zwiększyć wydajność poprzez zminimalizowanie kopii bufora w Intel® Proce oprogramowanie.intel.com
Aby utworzyć bufory z zerową kopią, wykonaj jedną z następujących czynności:

Użyj CL_MEM_ALLOC_HOST_PTR i pozwól środowisku wykonawczemu obsłużyć tworzenie bufora alokacji zerowej kopii dla Ciebie

Jeśli masz już dane i chcesz załadować dane do obiektu bufora OpenCL, użyj CL_MEM_USE_HOST_PTR z buforem przydzielonym na granicy 4096 bajtów (wyrównanej do granicy linii strony i pamięci podręcznej) i całkowitym rozmiarze, który jest wielokrotnością 64 bajtów (rozmiar linii pamięci podręcznej).

Podczas odczytu lub zapisu danych do tych buforów z hosta użyj clEnqueueMapBuffer(), operuj na buforze, a następnie wywołaj clEnqueueUnmapMemObject(). Ten dokument zawiera próbki kodu, aby zademonstrować najlepsze znane praktyki na platformach Intel®.
J

JouniS

22 lis 2020
  • 29 kwi 2021
Spodziewam się, że M1 pozostanie dobry przez następny rok lub dwa. Zanim niedobór komponentów się skończy, wiele osób będzie miało konsole i karty graficzne obecnej generacji, a nowe gry będą projektowane tak, aby wykorzystać szybszy sprzęt. 16-rdzeniowy procesor graficzny M1 byłby wtedy low-end, a 32 rdzenie byłyby średnie.

Zawsze następuje celowy skok w wymaganiach sprzętowych jakiś czas po wydaniu nowej generacji konsol. Gdyby stare konsole nadal nadawały się do nowych gier, nie byłoby powodu, aby kupować nowe modele. Z drugiej strony, ponieważ czas między generacjami konsol wynosi ~7 lat, każdy dobry sprzęt po skoku pozostanie dobry przez wiele lat. TEN

leman

14 paź 2008
  • 30 kwi 2021
dmccloud powiedział: Bez względu na to, jak Intel to nazywa, nadal nie jest to prawdziwe UMA. Przejdź do Best Buy i spójrz na dowolny z laptopów na wystawie tylko ze zintegrowaną grafiką. Zobaczysz, że powiedzą coś w stylu „8 GB RAM (dostępne 6,03 GB). Dzieje się tak, ponieważ nadal dzielą fizyczną pamięć RAM na wirtualne partycje procesora/iGPU.

Tak właśnie działa model sterownika. Część pamięci jest oczywiście zarezerwowana na potrzeby GPU. Nie inaczej jest z M1: możesz sprawdzić ilość dostępnej pamięci GPU, a uzyskana liczba nie jest całkowitą pamięcią RAM systemu. To tylko kwestia sprawozdawczości/księgowości i ma niewiele wspólnego z samą UMA. Zunifikowana pamięć oznacza, że ​​GPU i CPU są w stanie fizycznie (i logicznie) uzyskać dostęp do tej samej pamięci w sposób spójny z pamięcią podręczną, a każdy rozsądny model Intel iGPU ma taką możliwość.

dmccloud powiedział: Intel lubi wprowadzać w błąd, a nawet kłamać w swoich działaniach marketingowych...

Och, absolutnie możemy się zgodzić. Marketing Intela lubi być, jakby to powiedzieć… „optymistą”. Ale z technicznego punktu widzenia procesory graficzne Intela są dość interesującymi i niezbyt wyrafinowanymi urządzeniami. Mają bardzo elastyczne możliwości obliczeniowe.

xWhiplash powiedział: Jeśli czytasz ten dokument, musi to być zmiana programistyczna. Ile oprogramowania ma tę zmianę?

Dokładnie to samo w przypadku Apple Silicon. Jeśli chcesz zachować zerową kopię, musisz użyć określonego API i upewnić się, że alokujesz pamięć w określony sposób.
Reakcje:tekew

LeeW

5 lut 2017
Za wzgórzem i daleko?
  • 30 kwi 2021
Lowhangers powiedział: Jedyną grą, w którą gram na moim Macu mini, jest World of Warcraft. I działa całkiem nieźle, dodając przyzwoitą rozdzielczość przy 60 klatkach na sekundę na moim M1 Mac mini. Nie mam żadnych skarg, za cenę, jaką zapłaciłem za mini.

Apple wykonało fantastyczną robotę z M1 i mogę sobie tylko wyobrazić, o ile lepszy będzie z biegiem lat, gdy go ulepszą. Nie wyobrażam sobie, gdzie będzie sieć w czterech czy pięciu generacjach tych procesorów.

To też ja, gram w WoW tylko od niechcenia i zanurzam się w Retail/Classic, kiedy pozwala na to czas. Grany od 2006 roku, ale nie raiduj już więcej, po prostu ciesz się zadaniami i wędrówkami po całym świecie.

Działa niesamowicie na M1 Mac Mini, w porównaniu do moich poprzednich urządzeń z 2014 i 2018 roku. 45-60 FPS na ustawieniach 3440x1440 @max z lekką korektą cieni, ledwo się nagrzewa i radzi sobie dobrze. x

xWhiplash

Współpracownik
21 paź 2009
  • 30 kwi 2021
leman powiedział: Dokładnie to samo w przypadku Apple Silicon. Jeśli chcesz zachować zerową kopię, musisz użyć określonego API i upewnić się, że alokujesz pamięć w określony sposób.
To tak nie działa. Apple Silicon ma dostęp do wszystkich 16 GB pamięci RAM. Nie ma oddzielnej pamięci VRAM, ale nadal jest dla Intel iGPU.
Reakcje:dmccloud

Hessel89

27 września 2017 r.
Holandia
  • 30 kwi 2021
Tylko na podstawie wyników geekbench spodziewałem się podobnej wydajności do AMD RX 560.
Wydaje się, że tak jest w większości gier, z tą tylko różnicą, że na M1 mogę ustawić odległość rysowania do absolutnego maksimum. (dzięki 16 GB zunifikowanej pamięci RAM)

Z grami obsługującymi Metal 2 jest to jednak zupełnie inna gra w piłkę!
Mogę grać w X-plane 11 przy 2560 x 1440 ze wszystkim ustawionym na Ultra/High i nadal osiągam solidne 30 do 40 fps.
W rzeczywistości jest to lepsze niż to, co mój przyjaciel otrzymuje ze swoim RTX 2060. Cały czas pozostając całkowicie cichym!

To nie powinno być tak potężne, ale jakoś tak jest..
Reakcje:Homy TEN

leman

14 paź 2008
  • 30 kwi 2021
xWhiplash powiedział: Nie tak to działa. Apple Silicon ma dostęp do wszystkich 16 GB pamięci RAM. Nie ma oddzielnej pamięci VRAM, ale nadal jest dla Intel iGPU.

Nie znam żadnych ograniczeń adresowania pamięci w procesorach Intel iGPU. Zarówno urządzenia Intel, jak i Apple uzyskują dostęp do pamięci systemowej za pośrednictwem tej samej pamięci podręcznej ostatniego poziomu i tego samego kontrolera pamięci. Cała pamięć Intel GPU jest widoczna i spójna z pamięcią podręczną z procesorem i odwrotnie. Zarówno urządzenia Intel, jak i Apple GPU mogą uzyskiwać bezpośredni dostęp do alokacji pamięci systemowej (zero kopii) za pomocą opcjonalnych interfejsów API.

Wszelkie raporty dotyczące „rozmiaru pamięci VRAM” itp., które możesz zobaczyć, są ograniczeniami dotyczącymi sterownika lub systemu operacyjnego. O ile mi wiadomo, sterownik Intel GPU potrafi dynamicznie dostosowywać te listy, Apple Silicon od samego początku stosuje bardzo wysokie naturalne limity. Oba rezerwują pewną ilość pamięci RAM na potrzeby GPU. S

wrzeciono

5 paź 2020
  • 30 kwi 2021
leman powiedział: Nie znam żadnych ograniczeń adresowania pamięci w procesorach Intel iGPU. Zarówno urządzenia Intel, jak i Apple uzyskują dostęp do pamięci systemowej za pośrednictwem tej samej pamięci podręcznej ostatniego poziomu i tego samego kontrolera pamięci. Cała pamięć Intel GPU jest widoczna i spójna z pamięcią podręczną z procesorem i odwrotnie. Zarówno urządzenia Intel, jak i Apple GPU mogą uzyskiwać bezpośredni dostęp do alokacji pamięci systemowej (zero kopii) za pomocą opcjonalnych interfejsów API.

Wszelkie raporty dotyczące „rozmiaru pamięci VRAM” itp., które możesz zobaczyć, są ograniczeniami dotyczącymi sterownika lub systemu operacyjnego. O ile mi wiadomo, sterownik Intel GPU potrafi dynamicznie dostosowywać te listy, Apple Silicon od samego początku stosuje bardzo wysokie naturalne limity. Oba rezerwują pewną ilość pamięci RAM na potrzeby GPU.
Tak, to prawda, że ​​rozmiar vram można regulować dynamicznie za pomocą intel igpus.
Ale nie rozumiesz, alokowany vram nadal nie jest dostępny dla reszty systemu. Więc jeśli masz jednostkę graficzną, która wymaga pozycjonowania (wykonanego przez procesor), ta jednostka musi znajdować się zarówno w pamięci wirtualnej, jak i pamięci RAM systemowej. Ponieważ procesor musi wykonywać na nim swoje obliczenia, a ponieważ nie ma dostępu do vram, potrzebuje kopii w pamięci RAM systemowej (wszystko to rażąco uproszczone)

z UMA zarówno procesor, jak i GPU mogą uzyskać dostęp do tego samego adresu pamięci. TEN

leman

14 paź 2008
  • 30 kwi 2021
Spindel powiedział: Ale nie rozumiesz, alokowany vram nadal nie jest dostępny dla reszty systemu. Więc jeśli masz jednostkę graficzną, która wymaga pozycjonowania (wykonanego przez procesor), ta jednostka musi znajdować się zarówno w pamięci wirtualnej, jak i pamięci RAM systemowej. Ponieważ procesor musi wykonywać na nim swoje obliczenia, a ponieważ nie ma dostępu do vram, potrzebuje kopii w pamięci RAM systemowej (wszystko to rażąco uproszczone)

To jest po prostu niepoprawne. Nie ma „VRAM” z nowoczesnymi iGPU Intela lub AMD. CPU i GPU mają dostęp do tej samej pamięci fizycznej. Jak pisałem wcześniej, CPU i GPU współdzielą pamięć podręczną i kontrolery pamięci.

Jeśli mi nie wierzysz, spójrz na dostępne pule pamięci Vulkan dla tych urządzeń (poprzez vkGetPhysicalDeviceMemoryProperties). Tylko oferowane przez nie pule pamięci są dostępne zarówno dla urządzenia (GPU), jak i hosta (CPU).

Spindel powiedział: dzięki UMA zarówno procesor, jak i GPU mają dostęp do tego samego adresu pamięci.

Dokładnie. Dlatego dziwi mnie, że twierdzisz, że Intel to nie UMA. Dokładnie tak działają Intel iGPU.

dmccloud

7 września 2009
Anchorage, AK
  • 30 kwi 2021
Leman powiedział: To jest po prostu niepoprawne. Nie ma „VRAM” z nowoczesnymi iGPU Intela lub AMD. CPU i GPU mają dostęp do tej samej pamięci fizycznej. Jak pisałem wcześniej, CPU i GPU współdzielą pamięć podręczną i kontrolery pamięci.

Jeśli mi nie wierzysz, spójrz na dostępne pule pamięci Vulkan dla tych urządzeń (poprzez vkGetPhysicalDeviceMemoryProperties). Tylko oferowane przez nie pule pamięci są dostępne zarówno dla urządzenia (GPU), jak i hosta (CPU).



Dokładnie. Dlatego dziwi mnie, że twierdzisz, że Intel to nie UMA. Dokładnie tak działają Intel iGPU.

W przypadku procesorów Intel iGPU pamięć RAM jest podzielona na dwie wirtualne partycje: jedna jest używana jako systemowa pamięć RAM, druga jest dedykowana dla iGPU. Tak więc laptop HP lub Dell dostarczany z 8 GB pamięci RAM będzie miał tylko od 6 do 7,5 GB pamięci RAM dostępnej dla programów, ponieważ reszta jest przydzielona wyłącznie do iGPU. Ponadto dane zapisane na partycji systemowej są dostępne tylko dla procesora, a dane zapisane na partycji GPU są dostępne tylko dla iGPU. Właśnie dlatego użycie przez firmę Intel terminu „UMA” jest w najlepszym razie mylące. Wraz z M1 firma Apple przyznała pełny dostęp do całej przestrzeni adresowej pamięci zarówno rdzeniom CPU, jak i GPU. W przypadku aplikacji, w których używany jest zarówno procesor graficzny, jak i procesor (wiele gier MMO, w tym World of Warcraft, spełnia te kryteria), dane muszą zostać skopiowane na obie partycje po stronie Windows, a następnie zmiany zostaną uzgodnione przed wykonaniem jakichkolwiek wyników. Dzięki M1 zarówno rdzenie CPU, jak i GPU mogą uzyskiwać dostęp do danych i je modyfikować jednocześnie . Przyspiesza to ogólną wydajność, ponieważ etap uzgadniania nie jest już potrzebny. TEN

leman

14 paź 2008
  • 30 kwi 2021
dmccloud powiedział: W przypadku procesorów Intel iGPU pamięć RAM jest podzielona na dwie wirtualne partycje: jedna jest używana jako systemowa pamięć RAM, druga jest dedykowana dla iGPU. Tak więc laptop HP lub Dell dostarczany z 8 GB pamięci RAM będzie miał tylko od 6 do 7,5 GB pamięci RAM dostępnej dla programów, ponieważ reszta jest przydzielona wyłącznie do iGPU. Ponadto dane zapisane na partycji systemowej są dostępne tylko dla procesora, a dane zapisane na partycji GPU są dostępne tylko dla iGPU. Właśnie dlatego użycie przez firmę Intel terminu „UMA” jest w najlepszym razie mylące.

Skąd masz te informacje? Jest to sprzeczne z całą dokumentacją techniczną i zachowaniem API, o których wiem. Jeśli chodzi o „partycję wirtualną” — to tylko pamięć RAM zarezerwowana do wykorzystania przez GPU. Systemy Apple również to robią. x

xWhiplash

Współpracownik
21 paź 2009
  • 1 maja 2021
leman powiedział: Skąd masz te informacje? Jest to sprzeczne z całą dokumentacją techniczną i zachowaniem API, o których wiem. Jeśli chodzi o „partycję wirtualną” — to tylko pamięć RAM zarezerwowana do wykorzystania przez GPU. Systemy Apple również to robią.
Znowu jest to zmiana programowa. Uruchamianie starej gry z 2005 roku na nowoczesnym procesorze Intel iGPU nadal będzie wymagało wykonania kopii do pamięci iGPU. Musisz faktycznie określić w kodzie, że chcesz zerowy bufor pamięci.

Ponieważ Apple nie ma dedykowanej pamięci VRAM iGPU, ten problem nie występuje. Nie ma tej separacji.

Proszę pokazać, gdzie systemy Apple pokazują dedykowane sekcje RAM TYLKO dla GPU. Mam tutaj Maca mini M1 i nie mogę znaleźć miejsca, w którym jest dostępne tylko 1 lub 2 GB pamięci VRAM. TEN

leman

14 paź 2008
  • 1 maja 2021
xWhiplash powiedział: Znowu jest to zmiana w programowaniu. Uruchamianie starej gry z 2005 roku na nowoczesnym procesorze Intel iGPU nadal będzie wymagało wykonania kopii do pamięci iGPU. Musisz faktycznie określić w kodzie, że chcesz zerowy bufor pamięci.

I znowu, to samo, gdy używasz Metalu lub dowolnego innego API GPU. Jestem naprawdę zdezorientowany tym, co próbujesz powiedzieć.

Proszę, nie zrozumcie tego źle, ale w tym momencie muszę tylko zapytać: jakie jest twoje doświadczenie z programowaniem GPU? Nie wydaje mi się, że jesteś zbyt zaznajomiony z graficznymi interfejsami API.

xWhiplash powiedział: Ponieważ Apple nie ma dedykowanej pamięci VRAM iGPU, ten problem nie występuje. Nie ma tej separacji.

Oczywiście, że tak. Proszę zapoznać się z dokumentacją Metal. Wszystkie podstawowe API zakładają, że kopiujesz dane do buforów pamięci przydzielonych przez sterowniki. Jeśli chcesz osiągnąć funkcjonalność zero-kopiowania, musisz użyć wyspecjalizowanych interfejsów API (jak mówisz, jest to zmiana programistyczna). Myślę, że wspominam o tym po raz piąty. To trochę frustrujące.

xWhiplash powiedział: Proszę pokazać, gdzie systemy Apple pokazują dedykowane sekcje RAM TYLKO dla GPU. Mam tutaj Maca mini M1 i nie mogę znaleźć miejsca, w którym jest dostępne tylko 1 lub 2 GB pamięci VRAM.

Dostępna pamięć VRAM to tylko niektóre informacje, które podaje sterownik/system operacyjny. Intel iGPU nie ma żadnej pamięci VRAM. Mają pamięć systemową zarządzaną przez sterownik GPU. Tak jak Apple. Reszta to tylko zachowanie kierowcy. Sterownik Intela w systemie Windows może ograniczyć maksymalne użycie pamięci RAM GPU do 4 GB lub więcej (szczerze, nie wiedziałbym), Apple jest bardziej elastyczny. x

xWhiplash

Współpracownik
21 paź 2009
  • 1 maja 2021
leman powiedział: Proszę nie zrozumcie tego źle, ale w tym momencie muszę tylko zapytać: jakie jest twoje doświadczenie z programowaniem GPU? Nie wydaje mi się, że jesteś zbyt zaznajomiony z graficznymi interfejsami API.
Tworzę gry wideo, pracuję z shaderami pikseli i wierzchołków w Direct X, XNA, MonoGame, Unity, Unreal i nie tylko. Mam swoje doświadczenie, dlatego kilka osób, które napisały, że Intel nie ma tego problemu, NIE wie, że jest to zmiana programistyczna - a wiele osób nawet nie zdawało sobie sprawy, że była to zmiana programistyczna. Nie udało mi się znaleźć przykładu, w którym twierdzisz, że Apple M1 nadal cierpi z powodu tego problemu, a szukałem przez wiele dni. Nie jestem w stanie znaleźć flag potrzebnych do zerowego bufora pamięci, tak jak robisz to dla Intela. Więc proszę, wskaż mi właściwy kierunek, zamiast mówić to 5 razy. Jeśli masz dowód, na pewno chciałbym go przeczytać. NIE widziałem ŻADNEGO dowodu na to, że M1 nadal ma własną dedykowaną alokację pamięci GPU. WSZYSTKO, co przeczytałem i WSZYSTKA dokumentacja, którą widziałem, stwierdza, że ​​​​GPU M1 może uzyskać dostęp do KAŻDEJ i WSZYSTKICH 8 GB lub 16 GB pamięci ujednoliconej.

Widziałem dziesiątki dyskusji deweloperów i opinii deweloperów takich jak ta:

Dlaczego chip Apple M1 jest tak szybki – wyjaśnia programista | Ekspert ds. Produkcji

Być może zastanawiałeś się, dlaczego chip Apple M1 jest tak szybki? W tym artykule dowiadujemy się od programisty, co sprawia, że ​​nawet te podstawowe komputery Mac są tak szybkie. www.pro-tools-expert.com
W przypadku M1 jest to również część SoC. Pamięć w M1 jest opisana jako „architektura zunifikowanej pamięci” (UMA), która umożliwia procesorowi, procesorowi graficznemu i innym rdzeniom wymianę informacji między sobą, a dzięki ujednoliconej pamięci procesor i procesor graficzny mogą jednocześnie uzyskiwać dostęp do pamięci. niż kopiowanie danych między jednym obszarem a drugim.

Próbowałem zajrzeć do metalowej dokumentacji i NIE widzę, gdzie wymagana jest zmiana programistyczna, jak w przypadku Intel iGPU. Ponownie, jeśli masz konkretną część dokumentu, wskaż mi ją. Ale wszystkie te konta od programistów i nic, co do tej pory nie widziałem, nie wskazuje mi na ten sam problem, który ma Intel IGPU.

I wiecie, że kiedy mówimy VRAM w odniesieniu do Intel iGPU, mamy na myśli „pamięć segmentową przydzieloną do GPU przez sterownik”. VRAM jest krótki i łatwy, a mimo to pozwala na konwersację. Ostatnia edycja: 1 maja 2021 TEN

leman

14 paź 2008
  • 1 maja 2021
xWhiplash powiedział: tworzę gry wideo, pracuję z shaderami pikseli i wierzchołków w Direct X, XNA, MonoGame, Unity, Unreal i innych.

Ach, to świetnie, więc możemy omówić to na poziomie technicznym.

Edycja: przepraszam, forum automatycznie wstawia emotikony do adresów URL :/

xWhiplash powiedział: Mam swoje doświadczenie, dlatego kilka osób, które napisały, że Intel nie ma tego problemu, NIE wie, że jest to zmiana programistyczna - a wiele osób nawet nie zdawało sobie sprawy, że była to zmiana programistyczna. Nie udało mi się znaleźć przykładu, w którym twierdzisz, że Apple M1 nadal cierpi z powodu tego problemu, a szukałem przez wiele dni. Nie jestem w stanie znaleźć flag potrzebnych do zerowego bufora pamięci, tak jak robisz to dla Intela.

Jeśli chcesz zachować zachowanie zerowej kopii, to znaczy użyć własnej alokacji pamięci jako bufora GPU, musisz jawnie użyć makeBuffer(bytesNoCopy:długość Reakcje:Krevnik i xWhiplashNastępny

Idź do strony

Udać sięNastępny Ostatni