Forum

Spel på M1

the8thark

Originalaffisch
18 april 2011
  • 23 april 2021
Först skulle jag vilja dela med mig av några videos från youtube där en kille testade ett antal spel på M1 (Macbook Pro). Så Mini bör få liknande prestanda och iMac, något bättre prestanda (antar jag).

Den första videon har 25 testade spel som är en rad 64-bitars Metal 2- och OpenGL-spel, iPhone- och iPad-appar på Mac och 32-bitarsspel.

Spoiler:klicka här för att se listan över de flesta av de 25 spelen i videon Borderlands 3
Halva livet 2
World of Warcraft
Shadow of the Tomb Raider
Minecraft
DOTA 2
Bioshock 2: Remastrad
Bland oss
F1 Mobile Racing
Stardew Valley (iOS)
Dead Trigger 2
Soul Knight
Monument Valley
Stardew Valley (Steam)
DiRT Rally
Borderlands 2
Counter-Strike: Global Offensive
Cuphead
Middle-earth: Shadow of Mordor
Slocknande ljus
Hades
Den väglösa
Deus Ex: Mankind Divided
Batman: Arkham City
The Sims 4

Den andra videon har 33 testade spel som är en rad arm64-, Parallels 16-, Rosetta 2- och CrossOver-spel.

Spoiler:klicka här för att se listan över de flesta av de 33 spelen i videon Alien isolering
A Plague Tale: Innocence
BioShock remastrad
The Bard's Tale IV: DC
CS GO
SteamVR
GTA IV
The Elder Scrolls Online
SUPERHOT: MCD
MÖRKA SJÄLAR: REMASTERED
Tjuv
Crusader Kings III
KADAVER
LEGO: The Incredibles
Fallout 4
Factorio
F1 2016
Pathfinder: Kingmaker - EPE
Moto Racer 4
växla
Aragami
Överleva
The Sims 2
LÖNEDAG 2
Yooka-Laylee
Det långa mörkret
Skul: Hjältedödaren

Den tredje videovideon har 32 spel testade

Spoiler:klicka här för att se listan över de flesta av de 32 spelen i videon Metro Exodus
Exilens väg
Rymdbasen Startopia
NBA 2K21 Arcade Edition
Yakuza 0
GWENT: The Witcher Card Game
Transportfeber 2
Gzdoom
Vrakfest
Ori and the Blind Forest: Definitive Edition
Ori and the Will of the Wisps
Overklig turnering
Frostpunk
Beyond Blue
Den sista lägerelden
HÄNGIVENHET
Talos-principen
Hellblade: Senua's Sacrifice
Liftare
Gå in i Gungeon
Valheim
Inkräktare
Assassin's Creed IV: Black Flag
Disco Elysium: The Final Cut
förband
Städer: Skylines
Layers of Fear 2
Narita pojke
Små mardrömmar

Inget av dessa spel har en läcker kant eller grafik från 2021, men de två videorna här borde ge dig en bra överblick över hur kapabel M1 är för spel. Det är mycket mer kapabelt än jag först trodde.
Reaktioner:AdamInKent, George Dawes, matrix07 och 1 annan person

Lowhangers

26 november 2017


  • 23 april 2021
Det enda spelet jag spelar på min Mac mini är World of Warcraft. Och det går ganska bra, lägg till en respektabel upplösning på 60 bilder per sekund på min M1 Mac mini. Jag har inga som helst klagomål, för det pris jag betalade för mini.

Apple har gjort ett fantastiskt jobb med M1, och jag kan bara föreställa mig hur mycket bättre den kommer att bli med åren när de förbättrar den. Jag kan inte föreställa mig var webben kommer att vara i fyra eller fem generationer av dessa processorer.
Reaktioner:LeeW, George Dawes och Retrostarscream

haralds

3 januari 2014
Silicon Valley, CA
  • 25 april 2021
Spelprestanda är förvånansvärt bra även för Windows-spel som körs under Windows 10 hypervisor och x86 emulaiton.
Reaktioner:the8thark, George Dawes och thedocbwarren

George Dawes

17 juli 2014
=VH=
  • 29 april 2021
Föreställ dig en appletv med m1-chippet!

Då skulle de verkligen kunna kalla Apple Arcade, arkad-/konsolnivå ..
Reaktioner:AdamInKent, SigEp265 och the8thark DE

leman

14 oktober 2008
  • 29 april 2021
dmccloud sa: Med 'konventionell' logik borde M1:s grafikprestanda inte vara så bra som den är.

Om du med konventionell logik menar den populära uppfattningen 'iGPU: er är långsamma'. Det är samma sak som 'ARM är långsam' - bara för att ett paradigm traditionellt har använts för lågkostnadsenheter med låg prestanda, betyder det inte att det inte kan användas för att bygga en högpresterande enhet.

M1 har utmärkt potential för spelprestanda, speciellt om spel skulle använda dess unika funktioner. Apples TBDR låter en radikalt förenkla och effektivisera koden och resursanvändningen för många moderna renderingsmetoder. Traditionella grafikprocessorer kräver att du hoppar genom icke-uppenbara ramar när du gör vissa saker, med Apples enheter kan det bli en promenad i parken istället.

dmccloud sa: Det är dock baserat på att se saker genom x86 (Intel) paradigmet, där iGPU:er är i bästa fall hett skräp, helt oanvändbara annars. UMA spelar en stor roll i detta, eftersom både CPU och GPU kan komma åt samma data samtidigt istället för att behöva kopiera data till både system- och iGPU-partitionerna och sedan stämma av ändringarna som gjorts på båda kopiorna.

UMA är mycket mindre viktigt för spel (än säg, för programvara för innehållsskapande), eftersom det är mycket sällsynt att spel kräver både CPU- och GPU-åtkomst till data. Den överväldigande majoriteten av spelen använder processorn som ett uppsättningsområde för att sätta upp resurser som sedan kopieras och används på GPU:n. Det är allt.

Och några fler anteckningar:

– Bara det faktum att du har UMA betyder inte att du inte behöver kopiera uppgifterna. Nollkopieringsfunktionalitet kräver explicit användning av specialiserade API:er och kräver att du ställer in dina data på ett mycket speciellt sätt. Spel bryr sig helt enkelt inte om det. Så du måste fortfarande kopiera data, det är bara själva kopieringen är mycket snabbare (du får hela 68+GBps bandbredd istället för 15GBps av PCI-e 3.0 16x som används i avancerade spel-GPU:er)

- Intel (och AMD) iGPU:er har använt UMA i flera år. Deras minnestopologi är praktiskt taget identisk med Apples (CPU och GPU kommer åt minne via en delad sista nivå cache). Apple har helt enkelt mycket mer kapabla minneskontroller (och även GPU-cachestorlekar på skrivbordsnivå) - de optimerar för prestanda och effektivitet här och kostar inte som andra leverantörer.
Reaktioner:thekev, falainber, JMacHack och 1 annan person S

slända

5 oktober 2020
  • 29 april 2021
leman sa: - Intel (och AMD) iGPU:er har använt UMA i flera år. Deras minnestopologi är praktiskt taget identisk med Apples (CPU och GPU kommer åt minne via en delad sista nivå cache). Apple har helt enkelt mycket mer kapabla minneskontroller (och även GPU-cachestorlekar på skrivbordsnivå) - de optimerar för prestanda och effektivitet här och kostar inte som andra leverantörer.
Inga Intel och amd iGPU:er använder inte UMA alls.

Intel och AMD iGPU-sektioner av en del av systemets RAM-minne som ska användas som vRAM resten av systemet kan inte komma åt den här delen av RAM-minnet alls bara GPU:n kan.

Detta är inte fallet med UMA, med UMA har hela systemet tillgång till allt RAM-minne hela tiden.

Och när det gäller spel som 'inte använder UMA' har det ingenting att göra med spelen och allt med grafikdrivrutinerna att göra. Spelet anropar bara via API till grafikdrivrutinen, drivrutinen sorterar sedan minneshanteringen.
Reaktioner:cal6n och dmcccloud DE

leman

14 oktober 2008
  • 29 april 2021
Spindel sa: Inga Intel och amd iGPU:er använder inte UMA alls.

Intel och AMD iGPU-sektioner av en del av systemets RAM-minne som ska användas som vRAM resten av systemet kan inte komma åt den här delen av RAM-minnet alls bara GPU:n kan.

Detta är helt enkelt fel. Intels dokumentation anger tydligt att deras iGPU:er som börjar med åtminstone Sandy Bridge (om jag minns rätt) använder UMA och de exponerar CPU/GPU-datatillägg med noll kopior för OpenCL som fungerar identiskt med nollkopiafunktioner hos Apple Metal.

Spindel sa: Och när det gäller spel som 'inte använder UMA' har det ingenting att göra med spelen och allt med grafikdrivrutinerna att göra. Spelet anropar bara via API till grafikdrivrutinen, drivrutinen sorterar sedan minneshanteringen.

Detta är återigen fel (åtminstone när det gäller ämnet). Grafiska API:er kräver att du manuellt kopierar data (antingen genom att tillhandahålla en datapekare i förväg eller genom att använda API:er för kopiering/mappning). Så UMA eller inte UMA, om du använder något som MTLBuffer.contents() eller MTLTexture.replace() gör du alltid en minneskopia från lagringen som tilldelats av din applikation till lagringen som tilldelats av drivrutinen. Du måste använda MTLDevice.makeBuffer(bytesNoCopy: ) om du vill ha nollkopieringsbeteende.

För att sammanfatta det: bara för att ditt system har UMA betyder det inte att alla datakopior kan elimineras magiskt.
Reaktioner:Krevnik

dmcccloud

7 september 2009
Anchorage, AK
  • 29 april 2021
leman sa: Det här är helt enkelt fel. Intels dokumentation anger tydligt att deras iGPU:er som börjar med åtminstone Sandy Bridge (om jag minns rätt) använder UMA och de exponerar CPU/GPU-datatillägg med noll kopior för OpenCL som fungerar identiskt med nollkopiafunktioner hos Apple Metal.



Detta är återigen fel (åtminstone när det gäller ämnet). Grafiska API:er kräver att du manuellt kopierar data (antingen genom att tillhandahålla en datapekare i förväg eller genom att använda API:er för kopiering/mappning). Så UMA eller inte UMA, om du använder något som MTLBuffer.contents() eller MTLTexture.replace() gör du alltid en minneskopia från lagringen som tilldelats av din applikation till lagringen som tilldelats av drivrutinen. Du måste använda MTLDevice.makeBuffer(bytesNoCopy: ) om du vill ha nollkopieringsbeteende.

För att sammanfatta det: bara för att ditt system har UMA betyder det inte att alla datakopior kan elimineras magiskt.

Oavsett vad Intel kallar det är det fortfarande inte sant UMA. Gå in på Best Buy och titta på någon av de bärbara datorerna som visas med enbart integrerad grafik. Du kommer att se att de kommer att säga något i stil med '8 GB RAM (6,03 GB tillgängligt). Det beror på att de fortfarande partitionerar det fysiska RAM-minnet i virtuella CPU/iGPU-partitioner. Intel gillar att vilseleda eller till och med ljuga i sin marknadsföring och ibland tekniska material. När de tillkännagav sina 11:e generationens processorer jämförde de bara deras iGPU (som faktiskt bara var en ommärkning av 'UMA'-grafiken som användes i 9:e och 10:e gensdelarna) med AMDs Vega 4 och nVidia MX250 (som redan hade ersatts av MX350) i ett försök att bevisa att deras grafik var överlägsen. En grupp av oss tittade på den presentationen på jobbet och slet Intel sönder för mängden vilseledande påståenden de stoppade in i en 47-minuters förinspelad presentation.
Reaktioner:dahlblom X

xWhiplash

Bidragsgivare
21 oktober 2009
  • 29 april 2021
M1 slår eller konkurrerar med GTX 1050 Ti som fortfarande är #2 i Steams hårdvaruundersökning.

Steam hårdvaru- och mjukvaruundersökning
Jag hoppas verkligen att GPU:n är ganska konkurrenskraftig när det kommer till den stora Mac Pro. Att försöka få ens en RTX 3060 är omöjligt. X

xWhiplash

Bidragsgivare
21 oktober 2009
  • 29 april 2021
leman sa: Det här är helt enkelt fel. Intels dokumentation anger tydligt att deras iGPU:er som börjar med åtminstone Sandy Bridge (om jag minns rätt) använder UMA och de exponerar CPU/GPU-datatillägg med noll kopior för OpenCL som fungerar identiskt med nollkopiafunktioner hos Apple Metal.
Om du läser dokumentet måste det vara en programmeringsändring. Hur många program har denna förändring på plats?

software.intel.com

Få ut det mesta av OpenCL™ 1.2: Hur man ökar prestanda med...

Nedladdningar Ladda ner Få ut det mesta av OpenCL™ 1.2: Hur man ökar prestanda genom att minimera buffertkopior på Intel® Proce software.intel.com
För att skapa nollkopieringsbuffertar gör du något av följande:

Använd CL_MEM_ALLOC_HOST_PTR och låt körtiden hantera att skapa en noll kopia allokeringsbuffert åt dig

Om du redan har data och vill ladda data till ett OpenCL-buffertobjekt, använd sedan CL_MEM_USE_HOST_PTR med en buffert tilldelad på en 4096 byte-gräns (justerad till en sid- och cachelinjegräns) och en total storlek som är en multipel av 64 byte (cache-radstorlek).

När du läser eller skriver data till dessa buffertar från värden, använd clEnqueueMapBuffer(), kör på bufferten och anrop clEnqueueUnmapMemObject(). Det här dokumentet innehåller kodexempel för att visa de bästa kända metoderna på Intel®-plattformar.
J

JouniS

22 november 2020
  • 29 april 2021
Jag förväntar mig att M1 kommer att förbli bra under nästa år eller två. När komponentbristen upphör kommer många att ha nuvarande generations konsoler och GPU:er, och nya spel kommer att designas för att dra fördel av den snabbare hårdvaran. En 16-kärnig M1 GPU skulle då vara low end och 32 kärnor skulle vara mellanregister.

Det finns alltid ett avsiktligt hopp i hårdvarukraven en tid efter lanseringen av en ny konsolgeneration. Om gamla konsoler fortfarande var tillräckliga för nya spel skulle det inte finnas någon anledning att köpa nya modeller. Å andra sidan, eftersom tiden mellan konsolgenerationer är ~7 år, kommer all hårdvara som är bra efter hoppet att förbli bra i många år. DE

leman

14 oktober 2008
  • 30 april 2021
dmccloud sa: Oavsett vad Intel kallar det, är det fortfarande inte sant UMA. Gå in på Best Buy och titta på någon av de bärbara datorerna som visas med enbart integrerad grafik. Du kommer att se att de kommer att säga något i stil med '8 GB RAM (6,03 GB tillgängligt). Det beror på att de fortfarande partitionerar det fysiska RAM-minnet i virtuella CPU/iGPU-partitioner.

Det är bara så förarmodellen fungerar. Ett visst minne är uppenbarligen reserverat för GPU-ändamål. Det är inte så annorlunda med M1: du kan fråga mängden tillgängligt GPU-minne och siffran du får är inte det totala system-RAM-minnet. Det är bara en rapporterings-/'redovisningsfråga' och har lite med UMA själv att göra. Unified memory betyder att GPU:n och CPU:n fysiskt (och logiskt) kan komma åt samma minne på ett cache-koherent sätt, och vilken som helst rimlig modell av Intel iGPU har den förmågan.

dmccloud sa: Intel gillar att vilseleda eller till och med ljuga i sin marknadsföring...

Åh, det kan vi absolut hålla med om. Intels marknadsföring gillar att vara, hur man uttrycker det... 'optimistisk'. Men ur teknisk synvinkel är Intel GPU:er ganska intressanta och inte osofistikerade enheter. De har mycket flexibla beräkningsmöjligheter.

xWhiplash sa: Om du läser dokumentet måste det vara en programmeringsändring. Hur många program har denna förändring på plats?

Exakt samma sak för Apple Silicon. Om du vill ha noll kopieringsbeteende måste du använda ett specifikt API och se till att du allokerar ditt minne på ett speciellt sätt.
Reaktioner:thekev

LeeW

5 februari 2017
Över backen och långt bort
  • 30 april 2021
Lowhangers sa: Det enda spelet jag spelar på min Mac mini är World of Warcraft. Och det går ganska bra, lägg till en respektabel upplösning på 60 bilder per sekund på min M1 Mac mini. Jag har inga som helst klagomål, för det pris jag betalade för mini.

Apple har gjort ett fantastiskt jobb med M1, och jag kan bara föreställa mig hur mycket bättre den kommer att bli med åren när de förbättrar den. Jag kan inte föreställa mig var webben kommer att vara i fyra eller fem generationer av dessa processorer.

Det här är jag också, jag spelar bara WoW nonchalant och dyker in och ut ur Retail/Classic när tiden tillåter. Spelat sedan 2006 men raida inte längre, bara njut av att leta och vandra runt i världen.

Fungerar fantastiskt på M1 Mac Mini, i jämförelse med mina tidigare 2014 och 2018 enheter. 45-60 FPS på en 3440x1440 @ max inställningar med en liten anpassning till skuggor, den blir knappt varm och klarar det bra. X

xWhiplash

Bidragsgivare
21 oktober 2009
  • 30 april 2021
leman sa: Exakt samma sak för Apple Silicon. Om du vill ha noll kopieringsbeteende måste du använda ett specifikt API och se till att du allokerar ditt minne på ett speciellt sätt.
Det är inte så det fungerar. Apple Silicon har tillgång till alla 16 GB RAM. Det finns inget separat VRAM, men det finns fortfarande för Intel iGPU.
Reaktioner:dmcccloud

Hessel89

27 september 2017
Nederländerna
  • 30 april 2021
Bara baserat på geekbench-poäng förväntade jag mig liknande prestanda som en AMD RX 560.
Detta verkar vara exakt fallet i de flesta spel, med den enda skillnaden att jag kan ställa in ritavståndet till det absoluta max på M1. (tack vare 16 GB unified RAM)

Med Metal 2-aktiverade spel är det dock ett helt annat bollspel!
Jag kan spela X-plane 11 i 2560 x 1440 med allt inställt på Ultra/High och jag får fortfarande fasta 30 till 40 fps.
Det är faktiskt bättre än vad en vän till mig får med sitt RTX 2060. Helt tyst!

Det borde inte vara så kraftfullt men på något sätt är det..
Reaktioner:Homy DE

leman

14 oktober 2008
  • 30 april 2021
xWhiplash sa: Det är inte så det fungerar. Apple Silicon har tillgång till alla 16 GB RAM. Det finns inget separat VRAM, men det finns fortfarande för Intel iGPU.

Jag känner inte till några minnesadresseringsbegränsningar på Intel iGPU:er. Både Intel- och Apple-enheter kommer åt systemminnet via samma cache på sista nivån och samma minneskontroll. Allt Intel GPU-minne är synligt och cache-koherent med CPU:n och tvärtom. Både Intel- och Apple GPU-enheter kan få direkt åtkomst till systemminnestilldelningar (noll kopia) med hjälp av opt-in API:er.

Alla 'VRAM-storleks'-rapporter etc. du kan se är drivrutins- eller OS-specifika begränsningar. Så vitt jag vet kan Intel GPU-drivrutinen justera dessa listor dynamiskt, Apple Silicon använder väldigt höga naturliga gränser från början. Båda reserverar viss mängd RAM-minne för GPU-ändamål. S

slända

5 oktober 2020
  • 30 april 2021
leman sa: Jag är inte medveten om några minnesadresseringsbegränsningar på Intel iGPU:er. Både Intel- och Apple-enheter kommer åt systemminnet via samma cache på sista nivån och samma minneskontroll. Allt Intel GPU-minne är synligt och cache-koherent med CPU:n och tvärtom. Både Intel- och Apple GPU-enheter kan få direkt åtkomst till systemminnestilldelningar (noll kopia) med hjälp av opt-in API:er.

Alla 'VRAM-storleks'-rapporter etc. du kan se är drivrutins- eller OS-specifika begränsningar. Så vitt jag vet kan Intel GPU-drivrutinen justera dessa listor dynamiskt, Apple Silicon använder väldigt höga naturliga gränser från början. Båda reserverar viss mängd RAM-minne för GPU-ändamål.
Ja, det är sant att vram-storleken kan justeras dynamiskt med intel igpus.
Men du förstår inte poängen, den tilldelade vram kan fortfarande inte nås av resten av systemet. Så om du har en grafisk enhet som behöver positionering (gjord av processorn) måste den entiteten finnas i både vram och system-RAM. Eftersom CPU:n behöver göra sina beräkningar på den och eftersom den inte kan komma åt vram behöver den en kopia i system-RAM (allt detta kraftigt förenklat)

med UMA kan både cpu och gpu komma åt samma minnesadress. DE

leman

14 oktober 2008
  • 30 april 2021
Spindel sa: Men du förstår inte poängen, den tilldelade vram kan fortfarande inte nås av resten av systemet. Så om du har en grafisk enhet som behöver positionering (gjord av processorn) måste den entiteten finnas i både vram och system-RAM. Eftersom CPU:n behöver göra sina beräkningar på den och eftersom den inte kan komma åt vram behöver den en kopia i system-RAM (allt detta kraftigt förenklat)

Detta är helt enkelt felaktigt. Det finns inget 'VRAM' med moderna Intel eller AMD iGPU:er. CPU:n och GPU:n kan komma åt samma fysiska minne. Som jag skrev tidigare delar CPU:n och GPU:n på cacharna och minneskontrollerna.

Om du inte tror mig, titta på de tillgängliga Vulkan-minnespoolerna för dessa enheter (via vkGetPhysicalDeviceMemoryProperties). De enda minnespoolerna de erbjuder är tillgängliga för både enheten (GPU) och värden (CPU).

Spindel sa: med UMA kan både cpu och gpu komma åt samma minnesadress.

Exakt. Det är därför jag är förbryllad över att du skulle hävda att Intel inte är UMA. Det är precis så Intel iGPU:er fungerar.

dmcccloud

7 september 2009
Anchorage, AK
  • 30 april 2021
leman sa: Det här är helt enkelt felaktigt. Det finns inget 'VRAM' med moderna Intel eller AMD iGPU:er. CPU:n och GPU:n kan komma åt samma fysiska minne. Som jag skrev tidigare delar CPU:n och GPU:n på cacharna och minneskontrollerna.

Om du inte tror mig, titta på de tillgängliga Vulkan-minnespoolerna för dessa enheter (via vkGetPhysicalDeviceMemoryProperties). De enda minnespoolerna de erbjuder är tillgängliga för både enheten (GPU) och värden (CPU).



Exakt. Det är därför jag är förbryllad över att du skulle hävda att Intel inte är UMA. Det är precis så Intel iGPU:er fungerar.

Med Intel iGPU:er är RAM-minnet uppdelat i två virtuella partitioner: en som används som system-RAM, den andra är dedikerad till iGPU. Så en bärbar dator från HP eller Dell som levereras med 8 GB RAM-minne kommer bara att ha mellan 6 och 7,5 GB RAM-minne tillgängligt för program eftersom resten är tilldelat enbart till iGPU. Dessutom kan data som skrivs till systempartitionen endast nås av processorn, och data som skrivs till GPU-partitionen kan endast nås av iGPU:n. Det är därför som Intels användning av termen 'UMA' i bästa fall är vilseledande. Med M1 har Apple gett full tillgång till hela minnesadressutrymmet till både CPU- och GPU-kärnorna. För applikationer där både GPU och CPU används (många MMO, inklusive World of Warcraft uppfyller detta kriterium), måste data kopieras till båda partitionerna på Windows-sidan, sedan stäms av ändringarna innan någon utmatning utförs. Med M1 kan både CPU- och GPU-kärnorna komma åt och ändra data samtidigt . Detta snabbar upp den totala prestandan eftersom avstämningssteget inte längre behövs. DE

leman

14 oktober 2008
  • 30 april 2021
dmccloud sa: Med Intel iGPU:er är RAM-minnet uppdelat i två virtuella partitioner: en som används som system-RAM, den andra är dedikerad till iGPU. Så en bärbar dator från HP eller Dell som levereras med 8 GB RAM-minne kommer bara att ha mellan 6 och 7,5 GB RAM-minne tillgängligt för program eftersom resten är tilldelat enbart till iGPU. Dessutom kan data som skrivs till systempartitionen endast nås av processorn, och data som skrivs till GPU-partitionen kan endast nås av iGPU:n. Det är därför som Intels användning av termen 'UMA' i bästa fall är vilseledande.

Var har du denna information ifrån? Detta strider mot all teknisk dokumentation och API-beteende som jag känner till. När det gäller 'virtuell partition' - det är bara RAM-minnet reserverat för GPU-användning. Apple-system gör det också. X

xWhiplash

Bidragsgivare
21 oktober 2009
  • 1 maj 2021
leman sa: Var har du den här informationen ifrån? Detta strider mot all teknisk dokumentation och API-beteende som jag känner till. När det gäller 'virtuell partition' - det är bara RAM-minnet reserverat för GPU-användning. Apple-system gör det också.
Återigen, det är en programmeringsförändring. Att köra ett gammalt spel från 2005 på en modern Intel iGPU kommer fortfarande att behöva utföra en kopia till iGPU-minnet. Du måste faktiskt ange i koden att du vill ha noll minnesbuffert.

Eftersom Apple inte har ett dedikerat iGPU VRAM, uppstår inte det här problemet. Den har inte denna separation.

Vänligen visa var Apple-system visar dedikerade delar av RAM ENDAST för GPU. Jag har en Mac mini M1 här och jag kan inte hitta där det bara står att 1 eller 2 GB VRAM är tillgängligt. DE

leman

14 oktober 2008
  • 1 maj 2021
xWhiplash sa: Återigen, det är en programmeringsförändring. Att köra ett gammalt spel från 2005 på en modern Intel iGPU kommer fortfarande att behöva utföra en kopia till iGPU-minnet. Du måste faktiskt ange i koden att du vill ha noll minnesbuffert.

Och återigen, det är samma sak när du använder Metal eller något annat GPU API. Jag är verkligen förvirrad över vad du försöker säga.

Vänligen ta det inte på fel sätt, men jag måste bara fråga nu: vad är din erfarenhet av GPU-programmering? Det låter inte för mig som att du är alltför bekant med grafiska API:er.

xWhiplash sa: Eftersom Apple inte har en dedikerad iGPU VRAM, uppstår inte det här problemet. Den har inte denna separation.

Självklart gör det det. Se metalldokumentationen. Alla grundläggande API förutsätter att du kopierar data till drivrutinsallokerade minnesbuffertar. Om du vill uppnå nollkopieringsfunktionalitet måste du använda specialiserade API:er (som du säger, det är en programmeringsändring). Jag tror att det är som femte gången jag nämner det. Det börjar bli lite frustrerande.

xWhiplash sa: Vänligen visa var Apple-system visar dedikerade delar av RAM ENDAST för GPU. Jag har en Mac mini M1 här och jag kan inte hitta där det bara står att 1 eller 2 GB VRAM är tillgängligt.

VRAM tillgängligt är bara lite information som drivrutinen/operativsystemet ger dig. Intel iGPU har inget VRAM. De har systemminne som hanteras av GPU-drivrutinen. Precis som Apple. Resten är bara förarens beteende. En Intel-drivrutin på Windows kan begränsa din maximala GPU-RAM-användning till 4 GB eller så (ärligt talat, jag skulle inte veta), Apple är mer flexibelt. X

xWhiplash

Bidragsgivare
21 oktober 2009
  • 1 maj 2021
leman sa: Vänligen ta det inte på fel sätt, men jag måste bara fråga nu: vad är din erfarenhet av GPU-programmering? Det låter inte för mig som att du är alltför bekant med grafiska API:er.
Jag skapar tv-spel, arbetar med pixel och vertex shaders i Direct X, XNA, MonoGame, Unity, Unreal med mera. Jag har min erfarenhet och det är därför flera personer som har skrivit att Intel inte har det här problemet vet INTE att det är en programmeringsändring - och många människor insåg inte ens att det var en programmeringsändring. Jag har inte kunnat hitta ett exempel på att du fortsätter att hävda att Apples M1 fortfarande lider av detta problem, och jag har letat i flera dagar. Jag kan inte hitta de flaggor som behövs för noll minnesbuffert som du gör för Intel. Så snälla, peka mig i rätt riktning istället för att bara säga det 5 gånger. Om du har beviset skulle jag definitivt vilja läsa det. Jag har INTE sett NÅGRA bevis för att M1 fortfarande har sin egen dedikerade GPU-minnestilldelning. ALLT jag läst och ALL dokumentation jag har sett säger att M1 GPU kan komma åt ALLA och 8 GB eller 16 GB av Unified Memory.

Jag har sett dussintals utvecklardiskussioner och utvecklares åsikter som denna:

Varför Apple M1-chipet är så snabbt - en utvecklare förklarar | Produktionsexpert

Du kanske har undrat varför Apple M1 Chip är så snabb? I den här artikeln lär vi oss av en utvecklare om vad som gör, även dessa nybörjar-Mac-datorer, så snabba. www.pro-tools-expert.com
Med M1 är detta också en del av SoC. Minnet i M1 är vad som beskrivs som en 'unified memory architecture' (UMA) som tillåter CPU, GPU och andra kärnor att utbyta information mellan varandra, och med unified memory kan CPU och GPU komma åt minne samtidigt snarare än att kopiera data mellan ett område och ett annat.

Jag har försökt titta på metalldokumentationen, och jag ser INTE var en programmeringsändring krävs som det är för Intel iGPU. Återigen, om du har en specifik del av dokumentet, vänligen hänvisa mig till den. Men alla dessa konton från utvecklare och ingenting jag har sett hittills pekar mig på samma problem som Intel IGPU har.

Och du vet att när vi säger VRAM när det gäller Intel iGPU, menar vi faktiskt 'segmenterat minne som allokerats till GPU:n av drivrutinen'. VRAM är kort och lätt och klarar fortfarande konversationen. Senast redigerad: 1 maj 2021 DE

leman

14 oktober 2008
  • 1 maj 2021
xWhiplash sa: Jag skapar videospel, arbetar med pixel- och vertex-skuggningar i Direct X, XNA, MonoGame, Unity, Unreal och mer.

Ah, det är bra, så vi kan diskutera det här på en teknisk nivå.

Edit: förlåt, forumet infogar emojis i webbadresserna automatiskt :/

xWhiplash sa: Jag har min erfarenhet och det är därför flera personer som har skrivit att Intel inte har det här problemet vet INTE att det är en programmeringsändring - och många insåg inte ens att det var en programmeringsändring. Jag har inte kunnat hitta ett exempel på att du fortsätter att hävda att Apples M1 fortfarande lider av detta problem, och jag har letat i flera dagar. Jag kan inte hitta de flaggor som behövs för noll minnesbuffert som du gör för Intel.

Om du vill ha nollkopieringsbeteende, det vill säga använd din egen minnesallokering som GPU-buffert som du uttryckligen måste använda makeBuffer(bytesNoCopy:length Reaktioner:Krevnik och xWhiplashNästa

Gå till sidan

Nästa Sista