Forumuri

Jocuri pe M1

the8thark

Poster original
18 aprilie 2011
  • 23 aprilie 2021
În primul rând, aș dori să împărtășesc câteva videoclipuri de pe youtube în care un tip a testat o serie de jocuri pe M1 (Macbook Pro). Deci, Mini ar trebui să obțină performanțe similare, iar iMac-ul, performanțe puțin mai bune (presupun).

Primul videoclip are 25 de jocuri testate, care sunt o gamă de jocuri Metal 2 și OpenGL pe 64 de biți, aplicații pentru iPhone și iPad pe Mac și jocuri pe 32 de biți.

Spoiler:faceți clic aici pentru a vedea lista celor mai multe dintre cele 25 de jocuri din videoclip Borderlands 3
Jumătate din viață 2
World of Warcraft
Shadow of the Tomb Raider
Minecraft
DOTA 2
Bioshock 2: Remastered
Printre noi
Curse mobile F1
Stardew Valley (iOS)
Dead Trigger 2
Soul Knight
Valea Monumentului
Stardew Valley (abur)
DiRT Raliu
Borderlands 2
Counter-Strike: ofensiva globală
Cuphead
Pământul de Mijloc: Umbra lui Mordor
Lumina moarta
Hades
Cei fără cale
Deus Ex: Mankind Divided
Batman: Arkham City
The Sims 4

Al doilea videoclip are 33 de jocuri testate, care sunt o gamă de jocuri arm64, Parallels 16, Rosetta 2 și CrossOver.

Spoiler:faceți clic aici pentru a vedea lista celor mai multe dintre cele 33 de jocuri din videoclip Izolarea extraterestră
A Plague Tale: Innocence
BioShock Remastered
Povestea Bardului IV: DC
CS GO
SteamVR
GTA IV
The Elder Scrolls Online
SUPERHOT: MCD
DARK SOULS: REMASTERED
Hoţ
Crusader Kings III
CARRION
LEGO: Incredibilii
Fallout 4
Factorio
F1 2016
Pathfinder: Kingmaker - EPE
Moto Racer 4
intrerupator
Aragami
Dura mai mult decât
The Sims 2
ZIUA DE PLATĂ 2
Yooka-Laylee
Intunericul lung
Skul: The Hero Slayer

Al treilea videoclip are 32 de jocuri testate

Spoiler:faceți clic aici pentru a vedea lista celor mai multe dintre cele 32 de jocuri din videoclip Metro Exodus
Calea exilului
Spacebase Startopia
NBA 2K21 Arcade Edition
Yakuza 0
GWENT: Jocul de cărți The Witcher
Febra transporturilor 2
Gzdoom
Epave
Ori și pădurea oarbă: ediție definitivă
Ori și voința șuvițelor
Turneu ireal
Frostpunk
Dincolo de albastru
Ultimul foc de tabără
DEVOTAMENT
Principiul Talos
Hellblade: Sacrificiul lui Senua
Autostopist
Intră în Gungeon
Valheim
Intrus
Assassin's Creed IV: Black Flag
Disco Elysium: Final Cut
pansamente
Orașe: Skyline
Straturi de frică 2
Narita Boy
Mici Coșmaruri

Niciunul dintre aceste jocuri nu are o grafică modernă sau de sfârșit de 2021, dar cele două videoclipuri de aici ar trebui să vă ofere o imagine de ansamblu bună asupra cât de capabil este M1 pentru jocuri. Este mult mai capabil decât am crezut la început.
Reacții:AdamInKent, George Dawes, matrix07 și încă o persoană

Umerașe

26 noiembrie 2017


  • 23 aprilie 2021
Singurul joc pe care îl joc pe Mac mini este World of Warcraft. Și funcționează destul de bine, adaugă o rezoluție respectabilă la 60 de cadre pe secundă pe M1 Mac mini. Nu am niciun fel de reclamatii, pentru pretul pe care l-am platit pentru mini.

Apple a făcut o treabă fantastică cu M1 și îmi pot doar imagina cât de mult se va îmbunătăți de-a lungul anilor, pe măsură ce îl îmbunătățesc. Nu îmi pot imagina unde va fi web-ul în patru sau cinci generații ale acestor procesoare.
Reacții:LeeW, George Dawes și Retrostarscream

haralds

3 ianuarie 2014
Silicon Valley, CA
  • 25 aprilie 2021
Performanța jocului este surprinzător de bună chiar și pentru jocurile Windows care rulează sub Windows 10 hypervisor și emulaiton x86.
Reacții:the8thark, George Dawes și thedocbwarren

George Dawes

17 iulie 2014
=VH=
  • 29 aprilie 2021
Imaginați-vă un appletv cu cip m1!

Atunci ar putea cu adevărat să numească Apple Arcade , nivel arcade / consolă ..
Reacții:AdamInKent, SigEp265 și the8thark THE

leman

14 octombrie 2008
  • 29 aprilie 2021
dmccloud a spus: Folosind logica „convențională”, performanța grafică a lui M1 nu ar trebui să fie nici pe departe la fel de bună pe cât este.

Dacă prin logica convențională te referi la credința populară „iGPU-urile sunt lente”. Este la fel ca „ARM este lent” – doar pentru că o paradigmă a fost folosită în mod tradițional pentru dispozitive cu costuri reduse, cu performanță scăzută, nu înseamnă că nu poate fi folosită pentru a construi un dispozitiv de înaltă performanță.

M1 are un potențial excelent pentru performanță în jocuri, mai ales dacă jocurile ar folosi caracteristicile sale unice. TBDR de la Apple vă permite să simplificați și să eficientizați radical utilizarea codului și a resurselor pentru multe abordări moderne de randare. GPU-urile tradiționale vă cer să treceți prin cercuri neevidente atunci când faceți unele lucruri, cu dispozitivele Apple, poate fi o plimbare în parc.

dmccloud a spus: Cu toate acestea, asta se bazează pe vizualizarea lucrurilor prin paradigma x86 (Intel), unde iGPU-urile sunt în cel mai bun caz un gunoi fierbinte, complet inutilizabile altfel. UMA joacă un rol important în acest sens, deoarece atât CPU-ul, cât și GPU-ul pot accesa aceleași date simultan, în loc să fie nevoie să copieze datele atât în ​​sistem, cât și în partițiile iGPU, apoi reconciliând modificările făcute pe ambele copii.

UMA este mult mai puțin important pentru jocuri (decât să spunem, pentru software-ul de creare de conținut), deoarece este foarte rar ca jocurile să necesite atât acces CPU, cât și GPU la date. Majoritatea covârșitoare a jocurilor utilizează procesorul ca zonă de pregătire pentru configurarea resurselor care sunt apoi copiate și utilizate pe GPU. Asta e.

Și încă câteva note:

- Doar faptul că aveți UMA nu înseamnă că nu trebuie să copiați datele. Funcționalitatea zero-copy necesită utilizarea explicită a API-urilor specializate și necesită configurarea datelor într-un mod foarte special. Jocurile pur și simplu nu se deranjează cu asta. Deci, încă trebuie să copiați datele, doar că copia în sine este mult mai rapidă (obțineți o lățime de bandă completă de 68+GBps în loc de 15GBps de PCI-e 3.0 16x utilizat în GPU-uri de gaming high-end)

- Intel (și AMD) iGPU-urile folosesc UMA de ani de zile. Topologia lor de memorie este practic identică cu cea a Apple (memorie de acces CPU și GPU printr-un cache partajat de ultimul nivel). Apple pur și simplu are controlere de memorie mult mai capabile (și, de asemenea, dimensiuni de memorie cache a GPU la nivel de desktop) - acestea optimizează pentru performanță și eficiență aici și nu costă ca alți furnizori.
Reacții:thekev, falainber, JMacHack și încă o persoană S

ax

5 octombrie 2020
  • 29 aprilie 2021
leman a spus: - Intel (și AMD) iGPU-urile folosesc UMA de ani de zile. Topologia lor de memorie este practic identică cu cea a Apple (memorie de acces CPU și GPU printr-un cache partajat de ultimul nivel). Apple pur și simplu are controlere de memorie mult mai capabile (și, de asemenea, dimensiuni de memorie cache a GPU la nivel de desktop) - acestea optimizează pentru performanță și eficiență aici și nu costă ca alți furnizori.
Nu Intel și iGPU-urile amd nu folosesc deloc UMA.

Secțiunile Intel și AMD iGPU ale unei părți a memoriei RAM a sistemului care urmează să fie utilizate ca vRAM, restul sistemului nu poate accesa deloc această parte a memoriei RAM, doar GPU-ul poate.

Nu este cazul cu UMA, cu UMA întregul sistem are acces la toată memoria RAM în orice moment.

Și în ceea ce privește jocurile care „nu folosesc UMA”, nu are nimic de-a face cu jocurile și totul de-a face cu driverele grafice. Jocul doar apelează prin API la driverul grafic, apoi driverul sortează gestionarea memoriei.
Reacții:cal6n și dmccloud THE

leman

14 octombrie 2008
  • 29 aprilie 2021
Spindel a spus: Niciun intel și iGPU-urile amd nu folosesc UMA deloc.

Secțiunile Intel și AMD iGPU ale unei părți a memoriei RAM a sistemului care urmează să fie utilizate ca vRAM, restul sistemului nu poate accesa deloc această parte a memoriei RAM, doar GPU-ul poate.

Acest lucru este pur și simplu greșit. Documentația Intel afirmă clar că iGPU-urile lor care încep cu cel puțin Sandy Bridge (dacă îmi amintesc bine) folosesc UMA și expun extensii de date CPU/GPU fără copiere la OpenCL care funcționează identic cu funcționalitatea de copiere zero a Apple Metal.

Spindel a spus: Și în ceea ce privește jocurile „care nu folosesc UMA”, nu are nimic de-a face cu jocurile și totul de-a face cu driverele grafice. Jocul doar apelează prin API la driverul grafic, apoi driverul sortează gestionarea memoriei.

Acest lucru este din nou greșit (cel puțin în ceea ce privește subiectul). API-urile grafice vă solicită să copiați manual datele (fie furnizând un indicator de date în avans, fie utilizând API-uri de copiere/mapping). Deci UMA sau nu UMA, dacă utilizați ceva de genul MTLBuffer.contents() sau MTLTexture.replace(), faceți întotdeauna o copie de memorie din spațiul de stocare alocat de aplicația dvs. în spațiul de stocare alocat de driver. Trebuie să utilizați MTLDevice.makeBuffer(bytesNoCopy: ) dacă doriți un comportament zero-copy.

Pentru a rezuma: doar pentru că sistemul dumneavoastră are UMA, nu înseamnă că toate copiile de date pot fi eliminate magic.
Reacții:Krevnik

dmccloud

7 septembrie 2009
Anchorage, Alaska
  • 29 aprilie 2021
leman a spus: Acest lucru este pur și simplu greșit. Documentația Intel afirmă clar că iGPU-urile lor care încep cu cel puțin Sandy Bridge (dacă îmi amintesc bine) folosesc UMA și expun extensii de date CPU/GPU fără copiere la OpenCL care funcționează identic cu funcționalitatea de copiere zero a Apple Metal.



Acest lucru este din nou greșit (cel puțin în ceea ce privește subiectul). API-urile grafice vă solicită să copiați manual datele (fie furnizând un indicator de date în avans, fie utilizând API-uri de copiere/mapping). Deci UMA sau nu UMA, dacă utilizați ceva de genul MTLBuffer.contents() sau MTLTexture.replace(), faceți întotdeauna o copie de memorie din spațiul de stocare alocat de aplicația dvs. în spațiul de stocare alocat de driver. Trebuie să utilizați MTLDevice.makeBuffer(bytesNoCopy: ) dacă doriți un comportament zero-copy.

Pentru a rezuma: doar pentru că sistemul dumneavoastră are UMA, nu înseamnă că toate copiile de date pot fi eliminate magic.

Indiferent cum îl numește Intel, încă nu este adevărat UMA. Accesați Best Buy și uitați-vă la oricare dintre laptopurile afișate doar cu grafică integrată. Veți vedea că vor spune ceva de genul „8 GB RAM (6,03 GB disponibile). Asta pentru că încă mai partiționează memoria RAM fizică în partiții virtuale CPU/iGPU. Intel îi place să inducă în eroare sau chiar să mintă în materialele lor de marketing și uneori tehnice. Când și-au anunțat procesoarele din a 11-a generație, și-au comparat doar iGPU-ul (care a fost de fapt doar o rebranding a graficii „UMA” utilizate în părțile din a 9-a și a 10-a generație) cu AMD-urile Vega 4 și nVidia MX250 (care fusese deja înlocuită de MX350) în încercarea de a demonstra că grafica lor era superioară. Un grup dintre noi a urmărit acea prezentare la locul de muncă și a făcut bucăți Intel pentru cantitatea de declarații înșelătoare pe care le-au înghesuit într-o prezentare preînregistrată de 47 de minute.
Reacții:dahlblom X

xWhiplash

Colaborator
21 octombrie 2009
  • 29 aprilie 2021
M1 bate sau concurează cu GTX 1050 Ti, care este încă numărul 2 în sondajul hardware Steam.

Sondaj Steam Hardware și Software
Sper cu adevărat că, până când ajunge la băiatul cel mare Mac Pro, GPU-ul este destul de competitiv. Încercarea de a obține chiar și un RTX 3060 este imposibil. X

xWhiplash

Colaborator
21 octombrie 2009
  • 29 aprilie 2021
leman a spus: Acest lucru este pur și simplu greșit. Documentația Intel afirmă clar că iGPU-urile lor care încep cu cel puțin Sandy Bridge (dacă îmi amintesc bine) folosesc UMA și expun extensii de date CPU/GPU fără copiere la OpenCL care funcționează identic cu funcționalitatea de copiere zero a Apple Metal.
Dacă citiți documentul, trebuie să fie o schimbare de programare. Câte programe au aplicată această modificare?

software.intel.com

Profitați la maximum de OpenCL™ 1.2: Cum să creșteți performanța prin...

Descărcări Descărcare Obținerea maximă de la OpenCL™ 1.2: Cum să creșteți performanța reducând la minimum copiile tampon pe Intel® Proce software.intel.com
Pentru a crea buffer-uri de copiere zero, efectuați una dintre următoarele:

Utilizați CL_MEM_ALLOC_HOST_PTR și lăsați-l pe runtime să se ocupe de crearea unui buffer de alocare zero copie pentru dvs.

Dacă aveți deja datele și doriți să încărcați datele într-un obiect buffer OpenCL, atunci utilizați CL_MEM_USE_HOST_PTR cu un buffer alocat la o limită de 4096 de octeți (aliniat la o limită de pagină și linie cache) și o dimensiune totală care este un multiplu de 64 octeți (dimensiunea liniei cache).

Când citiți sau scrieți date în aceste buffere de la gazdă, utilizați clEnqueueMapBuffer(), operați pe buffer, apoi apelați clEnqueueUnmapMemObject(). Această lucrare conține exemple de cod pentru a demonstra cele mai cunoscute practici pe platformele Intel®.
J

JouniS

22 noiembrie 2020
  • 29 aprilie 2021
Mă aștept ca M1 să rămână bun pentru următorii doi ani. Până la sfârșitul deficitului de componente, mulți oameni vor avea console și GPU-uri din generația actuală, iar jocurile noi vor fi concepute pentru a profita de hardware-ul mai rapid. Un GPU M1 cu 16 nuclee ar fi atunci de gamă joasă, iar 32 de nuclee ar fi de gamă medie.

Există întotdeauna un salt intenționat în cerințele hardware la ceva timp după lansarea unei noi generații de console. Dacă consolele vechi ar fi încă adecvate pentru jocuri noi, ar fi puține motive pentru a cumpăra modele noi. Pe de altă parte, deoarece timpul dintre generațiile de console este de ~7 ani, orice hardware care este bun după salt va rămâne bun pentru mulți ani. THE

leman

14 octombrie 2008
  • 30 aprilie 2021
dmccloud a spus: Indiferent de cum îl numește Intel, încă nu este adevărat UMA. Accesați Best Buy și uitați-vă la oricare dintre laptopurile afișate doar cu grafică integrată. Veți vedea că vor spune ceva de genul „8 GB RAM (6,03 GB disponibile). Asta pentru că încă mai partiționează memoria RAM fizică în partiții virtuale CPU/iGPU.

Așa funcționează modelul șoferului. Evident, o anumită memorie este rezervată pentru scopuri GPU. Nu este atât de diferit cu M1: puteți interoga cantitatea de memorie GPU disponibilă, iar numărul pe care îl obțineți nu este memoria RAM totală a sistemului. Aceasta este doar o întrebare de raportare/„contabilitate” și are puțin de-a face cu UMA în sine. Memoria unificată înseamnă că GPU și CPU sunt capabile să acceseze fizic (și logic) aceeași memorie într-un mod coerent cu memoria cache și orice model rezonabil Intel iGPU are această capacitate.

dmccloud a spus: Intel îi place să inducă în eroare sau chiar să mintă în marketingul lor...

Oh, că putem fi absolut de acord. Intel marketing îi place să fie, cum să spun... „optimist”. Dar din punct de vedere tehnic, GPU-urile Intel sunt dispozitive destul de interesante și nu nesofisticate. Au capacități de calcul foarte flexibile.

xWhiplash a spus: Dacă citiți documentul, trebuie să fie o schimbare de programare. Câte programe au aplicată această modificare?

Exact același lucru pentru Apple Silicon. Dacă doriți un comportament de copiere zero, trebuie să utilizați un anumit API și să vă asigurați că vă alocați memoria într-un anumit mod.
Reacții:thekev

LeeW

5 februarie 2017
Peste deal și departe
  • 30 aprilie 2021
Lowhangers a spus: Singurul joc pe care îl joc pe Mac mini este World of Warcraft. Și funcționează destul de bine, adaugă o rezoluție respectabilă la 60 de cadre pe secundă pe M1 Mac mini. Nu am niciun fel de reclamatii, pentru pretul pe care l-am platit pentru mini.

Apple a făcut o treabă fantastică cu M1 și îmi pot doar imagina cât de mult se va îmbunătăți de-a lungul anilor, pe măsură ce îl îmbunătățesc. Nu îmi pot imagina unde va fi web-ul în patru sau cinci generații ale acestor procesoare.

Și eu sunt, joc WoW doar ocazional și intru și ies din Retail/Classic atunci când timpul îmi permite. Jucat din 2006, dar nu mai face raiduri, ci bucură-te de câteva căutări și rătăciri în jurul lumii.

Funcționează uimitor pe M1 Mac Mini, în comparație cu dispozitivele mele anterioare din 2014 și 2018. 45-60 FPS pe un set de 3440x1440 @ max cu o ușoară ajustare la umbre, abia se încălzește și se descurcă bine. X

xWhiplash

Colaborator
21 octombrie 2009
  • 30 aprilie 2021
leman a spus: Exact același lucru pentru Apple Silicon. Dacă doriți un comportament de copiere zero, trebuie să utilizați un anumit API și să vă asigurați că vă alocați memoria într-un anumit mod.
Nu așa funcționează. Apple Silicon are acces la oricare dintre cei 16 GB de RAM. Nu există VRAM separată, dar există încă pentru Intel iGPU.
Reacții:dmccloud

Hessel89

27 septembrie 2017
Olanda
  • 30 aprilie 2021
Doar pe baza scorurilor geekbench, mă așteptam la performanțe similare cu un AMD RX 560.
Acesta pare să fie exact cazul în majoritatea jocurilor, cu singura diferență că pot seta distanța de desenare la maximul său absolut pe M1. (mulțumită celor 16 GB de memorie RAM unificată)

Cu jocurile activate pentru Metal 2, este un joc cu totul diferit!
Pot juca X-plane 11 la 2560 x 1440 cu totul setat la Ultra / High și încă obțin o viteză solidă de 30 până la 40 fps.
Este de fapt mai bine decât ceea ce primește un prieten de-al meu cu RTX 2060. În tot acest timp, rămânând complet liniștit!

Nu ar trebui să fie atât de puternic, dar cumva este...
Reacții:Homy THE

leman

14 octombrie 2008
  • 30 aprilie 2021
xWhiplash a spus: Nu așa funcționează. Apple Silicon are acces la oricare dintre cei 16 GB de RAM. Nu există VRAM separată, dar există încă pentru Intel iGPU.

Nu știu că există limitări ale memoriei la iGPU-urile Intel. Atât dispozitivele Intel, cât și Apple accesează memoria sistemului prin același cache de ultimul nivel și același controler de memorie. Toată memoria Intel GPU este vizibilă și coerentă cu cache-ul cu procesorul și invers. Atât dispozitivele Intel, cât și Apple GPU pot accesa direct alocările de memorie de sistem (zero-copy) folosind API-uri opt-in.

Orice rapoarte de „dimensiune VRAM” etc. pe care le puteți vedea sunt limitări specifice driverului sau sistemului de operare. Din câte știu, driverul Intel GPU poate ajusta aceste liste în mod dinamic, Apple Silicon folosește limite naturale foarte mari de la început. Ambele rezervă o anumită cantitate de RAM pentru scopuri GPU. S

ax

5 octombrie 2020
  • 30 aprilie 2021
leman a spus: Nu cunosc nicio limită de memorie care se adresează la Intel iGPU. Atât dispozitivele Intel, cât și Apple accesează memoria sistemului prin același cache de ultimul nivel și același controler de memorie. Toată memoria Intel GPU este vizibilă și coerentă cu cache-ul cu procesorul și invers. Atât dispozitivele Intel, cât și Apple GPU pot accesa direct alocările de memorie de sistem (zero-copy) folosind API-uri opt-in.

Orice rapoarte de „dimensiune VRAM” etc. pe care le puteți vedea sunt limitări specifice driverului sau sistemului de operare. Din câte știu, driverul Intel GPU poate ajusta aceste liste în mod dinamic, Apple Silicon folosește limite naturale foarte mari de la început. Ambele rezervă o anumită cantitate de RAM pentru scopuri GPU.
Da, este adevărat că dimensiunea vram-ului poate fi ajustată dinamic cu intel igpus.
Dar nu înțelegeți ideea, vram-ul alocat încă nu poate fi accesat de restul sistemului. Deci, dacă aveți o entitate grafică care necesită poziționare (realizată de CPU), acea entitate trebuie să locuiască atât în ​​vram, cât și în ram de sistem. Deoarece procesorul trebuie să-și facă calculele pe el și din moment ce nu poate accesa vram, are nevoie de o copie în ram-ul de sistem (toate acestea extrem de simplificate)

cu UMA, atât CPU, cât și GPU pot accesa aceeași adresă de memorie. THE

leman

14 octombrie 2008
  • 30 aprilie 2021
Spindel a spus: Dar nu înțelegeți ideea, vram-ul alocat încă nu poate fi accesat de restul sistemului. Deci, dacă aveți o entitate grafică care necesită poziționare (realizată de CPU), acea entitate trebuie să locuiască atât în ​​vram, cât și în ram de sistem. Deoarece procesorul trebuie să-și facă calculele pe el și din moment ce nu poate accesa vram, are nevoie de o copie în ram-ul de sistem (toate acestea extrem de simplificate)

Acest lucru este pur și simplu incorect. Nu există „VRAM” cu iGPU-uri Intel sau AMD moderne. CPU și GPU pot accesa aceeași memorie fizică. După cum am scris mai devreme, procesorul și GPU-ul partajează cache-urile și controlerele de memorie.

Dacă nu mă credeți, uitați-vă la pool-urile de memorie Vulkan disponibile pentru aceste dispozitive (prin vkGetPhysicalDeviceMemoryProperties). Doar pool-urile de memorie pe care le oferă sunt accesibile atât de către dispozitiv (GPU), cât și de gazdă (CPU).

Spindel a spus: cu UMA, atât CPU, cât și GPU pot accesa aceeași adresă de memorie.

Exact. De aceea sunt nedumerit că ați pretinde că Intel nu este UMA. Exact așa funcționează Intel iGPU-urile.

dmccloud

7 septembrie 2009
Anchorage, Alaska
  • 30 aprilie 2021
leman a spus: Acest lucru este pur și simplu incorect. Nu există „VRAM” cu iGPU-uri Intel sau AMD moderne. CPU și GPU pot accesa aceeași memorie fizică. După cum am scris mai devreme, procesorul și GPU-ul partajează cache-urile și controlerele de memorie.

Dacă nu mă credeți, uitați-vă la pool-urile de memorie Vulkan disponibile pentru aceste dispozitive (prin vkGetPhysicalDeviceMemoryProperties). Doar pool-urile de memorie pe care le oferă sunt accesibile atât de către dispozitiv (GPU), cât și de gazdă (CPU).



Exact. De aceea sunt nedumerit că ați pretinde că Intel nu este UMA. Exact așa funcționează Intel iGPU-urile.

Cu Intel iGPU, memoria RAM este împărțită în două partiții virtuale: una care este folosită ca RAM de sistem, cealaltă este dedicată iGPU-ului. Deci, un laptop HP sau Dell care se livrează cu 8 GB de RAM va avea doar între 6 și 7,5 GB de RAM disponibilă pentru programe, deoarece restul este alocat exclusiv iGPU-ului. În plus, datele scrise pe partiția de sistem pot fi accesate numai de CPU, iar datele scrise pe partiția GPU sunt accesibile doar de către iGPU. Acesta este motivul pentru care utilizarea de către Intel a termenului „UMA” este în cel mai bun caz înșelătoare. Cu M1, Apple a acordat acces deplin la întreg spațiul de adresă de memorie atât pentru CPU, cât și pentru GPU. Pentru aplicațiile în care sunt utilizate atât GPU-ul, cât și procesorul (multe MMO-uri, inclusiv World of Warcraft îndeplinesc acest criteriu), datele trebuie copiate în ambele partiții din partea Windows, apoi modificările reconciliate înainte de efectuarea oricărei ieșiri. Cu M1, atât nucleele CPU, cât și GPU-ul pot accesa și modifica datele simultan . Acest lucru accelerează performanța generală, deoarece etapa de reconciliere nu mai este necesară. THE

leman

14 octombrie 2008
  • 30 aprilie 2021
dmccloud a spus: Cu Intel iGPU, memoria RAM este împărțită în două partiții virtuale: una care este folosită ca RAM de sistem, cealaltă este dedicată iGPU-ului. Deci, un laptop HP sau Dell care se livrează cu 8 GB de RAM va avea doar între 6 și 7,5 GB de RAM disponibilă pentru programe, deoarece restul este alocat exclusiv iGPU-ului. În plus, datele scrise pe partiția de sistem pot fi accesate numai de CPU, iar datele scrise pe partiția GPU sunt accesibile doar de către iGPU. Acesta este motivul pentru care utilizarea de către Intel a termenului „UMA” este în cel mai bun caz înșelătoare.

De unde ai aceste informatii? Acest lucru este contrar tuturor documentației tehnice și comportamentului API de care sunt conștient. În ceea ce privește „partiția virtuală” - aceasta este doar memoria RAM rezervată pentru utilizarea GPU-ului. Și sistemele Apple fac asta. X

xWhiplash

Colaborator
21 octombrie 2009
  • 1 mai 2021
leman a spus: De unde ai aceste informatii? Acest lucru este contrar tuturor documentației tehnice și comportamentului API de care sunt conștient. În ceea ce privește „partiția virtuală” - aceasta este doar memoria RAM rezervată pentru utilizarea GPU-ului. Și sistemele Apple fac asta.
Din nou, este o schimbare de programare. Rularea unui joc vechi din 2005 pe un Intel iGPU modern va trebui totuși să efectueze o copie în memoria iGPU. Trebuie să precizați în cod că doriți zero memorie tampon.

Deoarece Apple nu are o VRAM iGPU dedicată, această problemă nu apare. Nu are această separare.

Vă rugăm să arătați unde sistemele Apple arată secțiuni dedicate de RAM NUMAI pentru GPU. Am un Mac mini M1 aici și nu găsesc unde scrie doar 1 sau 2 GB de VRAM disponibil. THE

leman

14 octombrie 2008
  • 1 mai 2021
xWhiplash a spus: Din nou, este o schimbare de programare. Rularea unui joc vechi din 2005 pe un Intel iGPU modern va trebui totuși să efectueze o copie în memoria iGPU. Trebuie să precizați în cod că doriți zero memorie tampon.

Și din nou, este același lucru atunci când utilizați Metal sau orice alt API GPU. Sunt foarte confuz cu privire la ceea ce încerci să spui.

Vă rugăm să nu o luați greșit, dar trebuie doar să vă întreb în acest moment: care este experiența dumneavoastră cu programarea GPU? Nu mi se pare că ești prea familiarizat cu API-urile grafice.

xWhiplash a spus: Deoarece Apple nu are o VRAM iGPU dedicată, această problemă nu apare. Nu are această separare.

Bineînțeles că da. Vă rugăm să consultați documentația Metal. Toate API-urile de bază presupun că copiați date în bufferele de memorie alocate de driver. Dacă doriți să obțineți funcționalitatea zero-copy, trebuie să utilizați API-uri specializate (cum spuneți, este o schimbare de programare). Cred că este a cincea oară când o menționez. Devine puțin frustrant.

xWhiplash a spus: Vă rugăm să arătați unde sistemele Apple arată secțiuni dedicate de RAM NUMAI pentru GPU. Am un Mac mini M1 aici și nu găsesc unde scrie doar 1 sau 2 GB de VRAM disponibil.

VRAM-ul disponibil este doar câteva informații pe care vi le oferă driverul/OS. Intel iGPU nu are VRAM. Au memorie de sistem gestionată de driverul GPU. La fel ca Apple. Restul este doar comportamentul șoferului. Un driver Intel pe Windows s-ar putea limita utilizarea maximă a GPU-ului RAM la aproximativ 4 GB (sincer, nu aș ști), Apple este mai flexibil. X

xWhiplash

Colaborator
21 octombrie 2009
  • 1 mai 2021
leman a spus: Vă rog să nu o luați greșit, dar trebuie doar să vă întreb în acest moment: care este experiența dumneavoastră cu programarea GPU? Nu mi se pare că ești prea familiarizat cu API-urile grafice.
Creez jocuri video, lucrez cu pixeli și vertex shaders în Direct X, XNA, MonoGame, Unity, Unreal și multe altele. Am experiența mea, motiv pentru care mai mulți oameni care au postat spunând că Intel nu are această problemă NU știu că este o schimbare de programare - și mulți oameni nici măcar nu și-au dat seama că a fost o schimbare de programare. Nu am reușit să găsesc un exemplu în care susțineți că M1-ul Apple încă suferă de această problemă și am căutat zile întregi. Nu reușesc să găsesc steagurile necesare pentru buffer-ul de memorie zero, așa cum o faci pentru Intel. Așa că, vă rog, îndreptați-mă în direcția corectă în loc să o spuneți de 5 ori. Dacă aveți dovada, cu siguranță mi-ar plăcea să o citesc. NU am văzut NICIO dovadă că M1 are încă propria sa alocare de memorie GPU dedicată. TOT CE am citit și TOATE documentația pe care am văzut-o afirmă că GPU-ul M1 poate accesa ORICE și TOATE cei 8 GB sau 16 GB ai memoriei unificate.

Am văzut zeci de discuții și opinii ale dezvoltatorilor ca aceasta:

De ce chipul Apple M1 este atât de rapid - explică un dezvoltator | Expert in productie

Poate te-ai întrebat de ce Apple M1 Chip este atât de rapid? În acest articol, aflăm de la un dezvoltator ce face, chiar și aceste Mac-uri entry-level, atât de rapide. www.pro-tools-expert.com
Cu M1, acesta face parte și din SoC. Memoria din M1 este ceea ce este descris ca o „arhitectură de memorie unificată” (UMA) care permite procesorului, GPU-ului și altor nuclee să facă schimb de informații între ele, iar cu o memorie unificată, procesorul și GPU-ul pot accesa memoria simultan, mai degrabă. decât copierea datelor între o zonă și alta.

Am încercat să mă uit la documentația metalică și NU văd unde este necesară o modificare de programare, așa cum este pentru Intel iGPU. Din nou, dacă aveți o anumită parte a documentului, vă rugăm să-mi indicați ea. Dar toate aceste conturi de la dezvoltatori și nimic din ce am văzut până acum mă indică aceeași problemă pe care o are Intel IGPU.

Și știți că atunci când spunem VRAM în ceea ce privește Intel iGPU, ne referim de fapt la „memorie segmentată alocată GPU-ului de către driver”. VRAM este scurt și ușor și încă realizează conversația. Ultima modificare: 1 mai 2021 THE

leman

14 octombrie 2008
  • 1 mai 2021
xWhiplash a spus: Creez jocuri video, lucrez cu pixeli și vertex shadere în Direct X, XNA, MonoGame, Unity, Unreal și multe altele.

Ah, e grozav, așa că putem discuta despre asta la nivel tehnic.

Editare: scuze, forumul inserează automat emoji-uri în adrese URL :/

xWhiplash a spus: Am experiența mea, motiv pentru care mai mulți oameni care au postat spunând că Intel nu are această problemă NU știu că este o schimbare de programare - și mulți oameni nici măcar nu și-au dat seama că a fost o schimbare de programare. Nu am reușit să găsesc un exemplu în care susțineți că M1-ul Apple încă suferă de această problemă și am căutat zile întregi. Nu reușesc să găsesc steagurile necesare pentru buffer-ul de memorie zero, așa cum o faci pentru Intel.

Dacă doriți să aveți un comportament zero-copy, adică să utilizați propria alocare de memorie ca buffer GPU, trebuie să utilizați în mod explicit makeBuffer(bytesNoCopy:lungime Reacții:Krevnik și xWhiplashUrmătorul

Mergi la pagina

MergeUrmătorul Ultimul