Forum

Giocare sulla M1

the8thark

Manifesto originale
18 aprile 2011
  • 23 aprile 2021
Innanzitutto vorrei condividere alcuni video da youtube in cui un tizio ha testato una serie di giochi su M1 (Macbook Pro). Quindi il Mini dovrebbe ottenere prestazioni simili e l'iMac, prestazioni leggermente migliori (presumo).

Il primo video ha 25 giochi testati che sono una gamma di giochi Metal 2 e OpenGL a 64 bit, app per iPhone e iPad su Mac e giochi a 32 bit.

Spoiler:clicca qui per vedere l'elenco della maggior parte dei 25 giochi nel video Terre di confine 3
Tempo di dimezzamento 2
World of Warcraft
Shadow of the Tomb Raider
Minecraft
DOTA 2
Bioshock 2: Remastered
Tra di noi
F1 Mobile Racing
Stardew Valley (iOS)
Innesco morto 2
Cavaliere dell'Anima
Monument Valley
Stardew Valley (vapore)
DiRT Rally
Terre di confine 2
Counter-Strike: offensiva globale
Cuphead
Terra di Mezzo: L'Ombra di Mordor
Luce morente
Ade
il senza sentiero
Deus Ex: L'umanità divisa
Batman: Arkham City
The Sims 4

Il secondo video ha 33 giochi testati che sono una gamma di giochi arm64, Parallels 16, Rosetta 2 e CrossOver.

Spoiler:clicca qui per vedere l'elenco della maggior parte dei 33 giochi nel video Isolamento alieno
Una storia di peste: Innocence
BioShock Remastered
Il racconto del bardo IV: DC
CS GO
SteamVR
GTA IV
The Elder Scrolls Online
SUPERHOT: MCD
DARK SOULS: REMASTERED
Ladro
Re crociato III
CARRIONE
LEGO: Gli Incredibili
Fallout 4
Fattoria
F1 2016
Pathfinder: Kingmaker - EPE
Moto Racer 4
interruttore
Aragami
sopravvivi
The Sims 2
GIORNO DI PAGA 2
Yooka-Laylee
Il lungo buio
Skul: The Hero Slayer

Il terzo video ha 32 giochi testati

Spoiler:clicca qui per vedere l'elenco della maggior parte dei 32 giochi nel video Metro Exodus
Percorso dell'esilio
Base spaziale Startopia
NBA 2K21 Edizione Arcade
Yakuza 0
GWENT: Il gioco di carte The Witcher
Febbre da trasporto 2
Gzdoom
festa del relitto
Ori e la foresta cieca: edizione definitiva
Ori e la volontà dei fuochi fatui
Torneo irreale
Frostpunk
Oltre il blu
L'ultimo falò
DEVOZIONE
Il principio di Talos
Hellblade: il sacrificio di Senua
autostoppista
Entra nel Gungeon
Valheim
Intruso
Assassin's Creed IV: bandiera nera
Disco Elysium: The Final Cut
condimenti
Città: Skyline
Strati di paura 2
Narita ragazzo
Piccoli incubi

Nessuno di questi giochi è all'avanguardia o alla fine del 2021, ma i due video qui dovrebbero darti una buona panoramica di quanto sia capace l'M1 per i giochi. È molto più capace di quanto pensassi all'inizio.
Reazioni:AdamInKent, George Dawes, matrix07 e 1 altra persona

Lowhangers

26 novembre 2017


  • 23 aprile 2021
L'unico gioco che gioco sul mio Mac mini è World of Warcraft. E funziona abbastanza bene aggiungendo una risoluzione rispettabile a 60 fotogrammi al secondo sul mio Mac mini M1. Non ho alcuna lamentela, per il prezzo che ho pagato per la mini.

Apple ha fatto un lavoro fantastico con la M1 e posso solo immaginare quanto migliorerà nel corso degli anni man mano che la migliorano. Non riesco a immaginare dove sarà il web in quattro o cinque generazioni di questi processori.
Reazioni:LeeW, George Dawes e Retrostarscream

araldi

3 gennaio 2014
Silicon Valley, California
  • 25 aprile 2021
Le prestazioni di gioco sono sorprendentemente buone anche per i giochi Windows in esecuzione su hypervisor Windows 10 ed emulaiton x86.
Reazioni:the8thark, George Dawes e thedocbwarren

George Dawes

17 luglio 2014
=VH=
  • 29 aprile 2021
Immagina un appletv con il chip m1!

Allora potrebbero davvero chiamare Apple Arcade, livello arcade/console..
Reazioni:AdamInKent, SigEp265 e l'8thark L

lemano

14 ottobre 2008
  • 29 aprile 2021
dmccloud ha detto: Usando la logica 'convenzionale', le prestazioni grafiche dell'M1 non dovrebbero essere così buone come lo sono.

Se per logica convenzionale intendi la credenza popolare 'le iGPU sono lente'. È lo stesso di 'ARM è lento': solo perché un paradigma è stato tradizionalmente utilizzato per dispositivi a basso costo ea basse prestazioni, ciò non significa che non possa essere utilizzato per costruire un dispositivo ad alte prestazioni.

M1 ha un eccellente potenziale per le prestazioni di gioco, soprattutto se i giochi utilizzano le sue caratteristiche uniche. Il TBDR di Apple consente di semplificare e ottimizzare radicalmente il codice e l'utilizzo delle risorse per molti approcci di rendering moderni. Le GPU tradizionali richiedono di saltare attraverso cerchi non ovvi quando si fanno alcune cose, con i dispositivi Apple invece può essere una passeggiata nel parco.

dmccloud ha affermato: Tuttavia, ciò si basa sulla visualizzazione delle cose attraverso il paradigma x86 (Intel), in cui le iGPU sono al massimo spazzatura calda, altrimenti completamente inutilizzabili. UMA gioca un ruolo importante in questo, poiché sia ​​la CPU che la GPU possono accedere agli stessi dati contemporaneamente invece di dover copiare i dati sia nel sistema che nelle partizioni iGPU, quindi riconciliare le modifiche apportate su entrambe le copie.

UMA è molto meno importante per i giochi (rispetto, ad esempio, per il software di creazione di contenuti), perché è molto raro che i giochi richiedano l'accesso ai dati sia da parte della CPU che della GPU. La stragrande maggioranza dei giochi utilizza la CPU come area di sosta per l'impostazione di risorse che vengono poi copiate e utilizzate sulla GPU. Questo è tutto.

E qualche altra nota:

- Il solo fatto che tu abbia UMA non significa che non devi copiare i dati. La funzionalità di copia zero richiede l'uso esplicito di API specializzate e richiede che tu configuri i tuoi dati in un modo molto particolare. I giochi semplicemente non se ne preoccupano. Quindi devi ancora copiare i dati, è solo che la copia stessa è molto più veloce (ottieni una larghezza di banda completa di 68 + GBps invece di 15 GBps di PCI-e 3.0 16x utilizzata nelle GPU di gioco di fascia alta)

- Le iGPU Intel (e AMD) utilizzano UMA da anni. La loro topologia di memoria è praticamente identica a quella di Apple (memoria di accesso CPU e GPU tramite una cache di ultimo livello condivisa). Apple ha semplicemente controller di memoria molto più capaci (e anche dimensioni della cache GPU a livello di desktop): ottimizzano le prestazioni e l'efficienza qui e non costano come altri fornitori.
Reazioni:thekev, falainber, JMacHack e 1 altra persona S

mandrino

5 ottobre 2020
  • 29 aprile 2021
leman ha detto: - Le iGPU Intel (e AMD) utilizzano UMA da anni. La loro topologia di memoria è praticamente identica a quella di Apple (memoria di accesso CPU e GPU tramite una cache di ultimo livello condivisa). Apple ha semplicemente controller di memoria molto più capaci (e anche dimensioni della cache GPU a livello di desktop): ottimizzano le prestazioni e l'efficienza qui e non costano come altri fornitori.
Nessuna Intel e AMD iGPU non usano affatto UMA.

Sezioni Intel e AMD iGPU di una parte della RAM del sistema da utilizzare come vRAM, il resto del sistema non può accedere a questa parte della RAM, solo la GPU può.

Questo non è il caso di UMA, con UMA l'intero sistema ha accesso a tutta la RAM in ogni momento.

E per quanto riguarda i giochi che 'non fanno uso di UMA', non ha nulla a che fare con i giochi e tutto ciò che ha a che fare con i driver grafici. Il gioco chiama semplicemente tramite API il driver grafico, il driver quindi ordina la gestione della memoria.
Reazioni:cal6n e dmccloud L

lemano

14 ottobre 2008
  • 29 aprile 2021
Spindel ha detto: No Intel e AMD iGPU non usano affatto UMA.

Sezioni Intel e AMD iGPU di una parte della RAM del sistema da utilizzare come vRAM, il resto del sistema non può accedere a questa parte della RAM, solo la GPU può.

Questo è semplicemente sbagliato. La documentazione Intel afferma chiaramente che le loro iGPU che iniziano con almeno Sandy Bridge (se ricordo bene) usano UMA ed espongono estensioni dati CPU/GPU a copia zero a OpenCL che funzionano in modo identico alla funzionalità a copia zero di Apple Metal.

Spindel ha detto: E per quanto riguarda i giochi che 'non fanno uso di UMA' non ha nulla a che fare con i giochi e tutto ha a che fare con i driver grafici. Il gioco chiama semplicemente tramite API il driver grafico, il driver quindi ordina la gestione della memoria.

Anche questo è sbagliato (almeno per quanto riguarda l'argomento). Le API grafiche richiedono la copia manuale dei dati (fornendo in anticipo un puntatore dati o utilizzando le API di copia/mapping). Quindi UMA o non UMA, se stai usando qualcosa come MTLBuffer.contents() o MTLTexture.replace() stai sempre facendo una copia di memoria dalla memoria allocata dalla tua applicazione alla memoria allocata dal driver. Devi usare MTLDevice.makeBuffer(bytesNoCopy: ) se vuoi un comportamento a copia zero.

Per riassumere: solo perché il tuo sistema ha UMA, non significa che tutte le copie dei dati possano essere magicamente eliminate.
Reazioni:Krevnik

dmccloud

7 set 2009
Anchorage, AK
  • 29 aprile 2021
leman ha detto: Questo è semplicemente sbagliato. La documentazione Intel afferma chiaramente che le loro iGPU che iniziano con almeno Sandy Bridge (se ricordo bene) usano UMA ed espongono estensioni dati CPU/GPU a copia zero a OpenCL che funzionano in modo identico alla funzionalità a copia zero di Apple Metal.



Anche questo è sbagliato (almeno per quanto riguarda l'argomento). Le API grafiche richiedono la copia manuale dei dati (fornendo in anticipo un puntatore dati o utilizzando le API di copia/mapping). Quindi UMA o non UMA, se stai usando qualcosa come MTLBuffer.contents() o MTLTexture.replace() stai sempre facendo una copia di memoria dalla memoria allocata dalla tua applicazione alla memoria allocata dal driver. Devi usare MTLDevice.makeBuffer(bytesNoCopy: ) se vuoi un comportamento a copia zero.

Per riassumere: solo perché il tuo sistema ha UMA, non significa che tutte le copie dei dati possano essere magicamente eliminate.

Indipendentemente da come lo chiama Intel, non è ancora vero UMA. Entra in Best Buy e guarda uno qualsiasi dei laptop in mostra con solo la grafica integrata. Vedrai che diranno qualcosa come '8 GB di RAM (6,03 GB disponibili). Questo perché stanno ancora partizionando la RAM fisica in partizioni CPU/iGPU virtuali. A Intel piace fuorviare o addirittura mentire nei propri materiali di marketing e talvolta tecnici. Quando hanno annunciato le loro CPU di undicesima generazione, hanno solo confrontato la loro iGPU (che in realtà era solo un rebranding della grafica 'UMA' utilizzata nelle parti di nona e decima generazione) con AMD Vega 4 e nVidia MX250 (che era già stato sostituito da l'MX350) nel tentativo di dimostrare che la loro grafica era superiore. Un gruppo di noi ha guardato quella presentazione al lavoro e ha fatto a pezzi Intel per la quantità di dichiarazioni fuorvianti che hanno stipato in una presentazione preregistrata di 47 minuti.
Reazioni:dahlblom X

xWhiplash

Collaboratore
21 ottobre 2009
  • 29 aprile 2021
L'M1 batte o compete con la GTX 1050 Ti, che è ancora la #2 nel sondaggio sull'hardware di Steam.

Sondaggio su hardware e software di Steam
Spero davvero che quando arriverà il grande Mac Pro, la GPU sarà abbastanza competitiva. Cercare di ottenere anche un RTX 3060 è impossibile. X

xWhiplash

Collaboratore
21 ottobre 2009
  • 29 aprile 2021
leman ha detto: Questo è semplicemente sbagliato. La documentazione Intel afferma chiaramente che le loro iGPU che iniziano con almeno Sandy Bridge (se ricordo bene) usano UMA ed espongono estensioni dati CPU/GPU a copia zero a OpenCL che funzionano in modo identico alla funzionalità a copia zero di Apple Metal.
Se leggi il documento, deve trattarsi di una modifica della programmazione. Quanti software hanno questa modifica in atto?

software.intel.com

Ottenere il massimo da OpenCL™ 1.2: come aumentare le prestazioni tramite...

Download Download Ottenere il massimo da OpenCL™ 1.2: come aumentare le prestazioni riducendo al minimo le copie buffer su Intel® Proce software.intel.com
Per creare zero buffer di copia, eseguire una delle seguenti operazioni:

Usa CL_MEM_ALLOC_HOST_PTR e lascia che il runtime gestisca la creazione di un buffer di allocazione a copia zero per te

Se si dispone già dei dati e si desidera caricare i dati in un oggetto buffer OpenCL, utilizzare CL_MEM_USE_HOST_PTR con un buffer allocato a un limite di 4096 byte (allineato a una pagina e al limite della linea della cache) e una dimensione totale che è un multiplo di 64 byte (dimensione della riga della cache).

Quando si leggono o si scrivono dati in questi buffer dall'host, utilizzare clEnqueueMapBuffer(), operare sul buffer, quindi chiamare clEnqueueUnmapMemObject(). Questo documento contiene esempi di codice per dimostrare le migliori pratiche conosciute sulle piattaforme Intel®.
J

JouniS

22 novembre 2020
  • 29 aprile 2021
Mi aspetto che la M1 rimarrà buona per il prossimo anno o due. Quando finirà la carenza di componenti, molte persone avranno console e GPU di ultima generazione e nuovi giochi saranno progettati per sfruttare l'hardware più veloce. Una GPU M1 a 16 core sarebbe quindi di fascia bassa e 32 core sarebbero di fascia media.

C'è sempre un salto intenzionale nei requisiti hardware qualche tempo dopo il rilascio di una nuova generazione di console. Se le vecchie console fossero ancora adeguate per i nuovi giochi, ci sarebbero poche ragioni per acquistare nuovi modelli. D'altra parte, poiché il tempo tra le generazioni di console è di ~7 anni, qualsiasi hardware che è buono dopo il salto rimarrà buono per molti anni. L

lemano

14 ottobre 2008
  • 30 aprile 2021
dmccloud ha detto: Indipendentemente da come lo chiama Intel, non è ancora vero UMA. Entra in Best Buy e guarda uno qualsiasi dei laptop in mostra con solo la grafica integrata. Vedrai che diranno qualcosa come '8 GB di RAM (6,03 GB disponibili). Questo perché stanno ancora partizionando la RAM fisica in partizioni CPU/iGPU virtuali.

È proprio così che funziona il modello del driver. Ovviamente un po' di memoria è riservata ai fini della GPU. Non è molto diverso con M1: puoi interrogare la quantità di memoria GPU disponibile e il numero che ottieni non è la RAM totale del sistema. Questa è solo una domanda di reporting / 'contabilità' e ha poco a che fare con l'UMA stesso. Memoria unificata significa che la GPU e la CPU sono in grado di accedere fisicamente (e logicamente) alla stessa memoria in modo coerente con la cache e qualsiasi modello ragionevole di Intel iGPU ha tale capacità.

dmccloud ha dichiarato: a Intel piace fuorviare o addirittura mentire nel proprio marketing...

Oh, su questo possiamo assolutamente essere d'accordo. Il marketing di Intel ama essere, come dire... 'ottimista'. Ma dal punto di vista tecnico, le GPU Intel sono dispositivi piuttosto interessanti e non poco sofisticati. Hanno capacità di calcolo molto flessibili.

xWhiplash ha detto: Se leggi il documento, deve essere un cambiamento di programmazione. Quanti software hanno questa modifica in atto?

Esattamente la stessa cosa per Apple Silicon. Se vuoi un comportamento di copia zero, devi usare un'API specifica e assicurarti di allocare la tua memoria in un modo particolare.
Reazioni:thekev

LeeW

5 febbraio 2017
Oltre la collina e lontano
  • 30 aprile 2021
Lowhangers ha detto: L'unico gioco che gioco sul mio Mac mini è World of Warcraft. E funziona abbastanza bene aggiungendo una risoluzione rispettabile a 60 fotogrammi al secondo sul mio Mac mini M1. Non ho alcuna lamentela, per il prezzo che ho pagato per la mini.

Apple ha fatto un lavoro fantastico con la M1 e posso solo immaginare quanto migliorerà nel corso degli anni man mano che la migliorano. Non riesco a immaginare dove sarà il web in quattro o cinque generazioni di questi processori.

Anche questo sono io, gioco a WoW solo casualmente e entro e fuori da Retail/Classic quando il tempo lo consente. Giocato dal 2006, ma non fare più raid, goditi un po' di quest e girovagando per il mondo.

Funziona alla grande su M1 Mac Mini, rispetto ai miei precedenti dispositivi 2014 e 2018. 45-60 FPS su un 3440x1440 @ impostazioni massime con una leggera regolazione delle ombre, si scalda a malapena e lo gestisce bene. X

xWhiplash

Collaboratore
21 ottobre 2009
  • 30 aprile 2021
leman ha detto: Esattamente la stessa cosa per Apple Silicon. Se vuoi un comportamento di copia zero, devi usare un'API specifica e assicurarti di allocare la tua memoria in un modo particolare.
Non è così che funziona. Apple Silicon ha accesso a tutti i 16 GB di RAM. Non esiste una VRAM separata, ma esiste ancora per Intel iGPU.
Reazioni:dmccloud

Hessel89

27 settembre 2017
Olanda
  • 30 aprile 2021
Basandomi sui punteggi di geekbench, mi aspettavo prestazioni simili a un AMD RX 560.
Questo sembra essere esattamente il caso nella maggior parte dei giochi, con l'unica differenza che posso impostare la distanza di disegno al massimo assoluto su M1. (grazie ai 16GB di RAM unificata)

Con i giochi abilitati per Metal 2, però, è tutta un'altra cosa!
Posso giocare a X-plane 11 a 2560 x 1440 con tutto impostato su Ultra / High e sto ancora ottenendo un solido 30-40 fps.
In realtà è meglio di quello che sta ottenendo un mio amico con la sua RTX 2060. Per tutto il tempo rimanendo completamente silenzioso!

Non dovrebbe essere così potente ma in qualche modo lo è..
Reazioni:amico L

lemano

14 ottobre 2008
  • 30 aprile 2021
xWhiplash ha detto: Non è così che funziona. Apple Silicon ha accesso a tutti i 16 GB di RAM. Non esiste una VRAM separata, ma esiste ancora per Intel iGPU.

Non sono a conoscenza di alcuna limitazione di indirizzamento della memoria su Intel iGPU. Entrambi i dispositivi Intel e Apple accedono alla memoria di sistema tramite la stessa cache di ultimo livello e lo stesso controller di memoria. Tutta la memoria della GPU Intel è visibile e coerente nella cache con la CPU e viceversa. Sia i dispositivi Intel che Apple GPU sono in grado di accedere direttamente alle allocazioni di memoria di sistema (zero-copy) utilizzando le API opt-in.

Qualsiasi rapporto 'dimensione VRAM' ecc. che potresti vedere sono limitazioni specifiche del driver o del sistema operativo. Per quanto ne so, il driver GPU Intel può regolare questi elenchi in modo dinamico, Apple Silicon utilizza limiti naturali molto elevati fin dall'inizio. Entrambi riservano una certa quantità di RAM per scopi GPU. S

mandrino

5 ottobre 2020
  • 30 aprile 2021
leman ha detto: Non sono a conoscenza di alcuna limitazione di indirizzamento della memoria sulle iGPU Intel. Entrambi i dispositivi Intel e Apple accedono alla memoria di sistema tramite la stessa cache di ultimo livello e lo stesso controller di memoria. Tutta la memoria della GPU Intel è visibile e coerente nella cache con la CPU e viceversa. Sia i dispositivi Intel che Apple GPU sono in grado di accedere direttamente alle allocazioni di memoria di sistema (zero-copy) utilizzando le API opt-in.

Qualsiasi rapporto 'dimensione VRAM' ecc. che potresti vedere sono limitazioni specifiche del driver o del sistema operativo. Per quanto ne so, il driver GPU Intel può regolare questi elenchi in modo dinamico, Apple Silicon utilizza limiti naturali molto elevati fin dall'inizio. Entrambi riservano una certa quantità di RAM per scopi GPU.
Sì, è vero che la dimensione della vram può essere regolata dinamicamente con intel igpus.
Ma non capisci il punto, la vram allocata non è ancora accessibile dal resto del sistema. Quindi, se hai un'entità grafica che deve essere posizionata (eseguita dalla CPU) quell'entità deve risiedere sia nella vram che nella ram di sistema. Poiché la CPU deve eseguire i suoi calcoli su di essa e poiché non può accedere alla vram, ha bisogno di una copia nella ram di sistema (tutto questo grossolanamente semplificato)

con UMA sia la cpu che la gpu possono accedere allo stesso indirizzo di memoria. L

lemano

14 ottobre 2008
  • 30 aprile 2021
Spindel ha detto: Ma non capisci il punto, la vram allocata non è ancora accessibile dal resto del sistema. Quindi, se hai un'entità grafica che deve essere posizionata (eseguita dalla CPU) quell'entità deve risiedere sia nella vram che nella ram di sistema. Poiché la CPU deve eseguire i suoi calcoli su di essa e poiché non può accedere alla vram, ha bisogno di una copia nella ram di sistema (tutto questo grossolanamente semplificato)

Questo è semplicemente sbagliato. Non c'è 'VRAM' con le moderne iGPU Intel o AMD. La CPU e la GPU possono accedere alla stessa memoria fisica. Come ho scritto prima, la CPU e la GPU condividono le cache e i controller di memoria.

Se non mi credi, guarda i pool di memoria Vulkan disponibili per questi dispositivi (tramite vkGetPhysicalDeviceMemoryProperties). Solo i pool di memoria che offrono sono accessibili sia dal dispositivo (GPU) che dall'host (CPU).

Spindel ha detto: con UMA sia la cpu che la gpu possono accedere allo stesso indirizzo di memoria.

Precisamente. Ecco perché sono perplesso che tu possa affermare che Intel non è UMA. È esattamente così che funzionano le iGPU Intel.

dmccloud

7 set 2009
Anchorage, AK
  • 30 aprile 2021
leman ha detto: Questo è semplicemente errato. Non c'è 'VRAM' con le moderne iGPU Intel o AMD. La CPU e la GPU possono accedere alla stessa memoria fisica. Come ho scritto prima, la CPU e la GPU condividono le cache e i controller di memoria.

Se non mi credi, guarda i pool di memoria Vulkan disponibili per questi dispositivi (tramite vkGetPhysicalDeviceMemoryProperties). Solo i pool di memoria che offrono sono accessibili sia dal dispositivo (GPU) che dall'host (CPU).



Precisamente. Ecco perché sono perplesso che tu possa affermare che Intel non è UMA. È esattamente così che funzionano le iGPU Intel.

Con le iGPU Intel, la RAM è suddivisa in due partizioni virtuali: una utilizzata come RAM di sistema, l'altra è dedicata all'iGPU. Quindi un laptop HP o Dell fornito con 8 GB di RAM avrà solo tra 6 e 7,5 GB di RAM disponibili per i programmi perché il resto è assegnato esclusivamente all'iGPU. Inoltre, i dati scritti nella partizione di sistema sono accessibili solo dalla CPU e i dati scritti nella partizione GPU sono accessibili solo dall'iGPU. Questo è il motivo per cui l'uso da parte di Intel del termine 'UMA' è fuorviante nella migliore delle ipotesi. Con l'M1, Apple ha concesso l'accesso completo all'intero spazio degli indirizzi di memoria sia ai core della CPU che a quelli della GPU. Per le applicazioni in cui vengono utilizzate sia la GPU che la CPU (molti MMO, incluso World of Warcraft soddisfano questo criterio), i dati devono essere copiati in entrambe le partizioni sul lato Windows, quindi le modifiche devono essere riconciliate prima di eseguire qualsiasi output. Con l'M1, sia i core CPU che GPU possono accedere e modificare i dati contemporaneamente . Ciò accelera le prestazioni complessive perché il passaggio di riconciliazione non è più necessario. L

lemano

14 ottobre 2008
  • 30 aprile 2021
dmccloud ha dichiarato: Con le iGPU Intel, la RAM è divisa in due partizioni virtuali: una utilizzata come RAM di sistema, l'altra è dedicata all'iGPU. Quindi un laptop HP o Dell fornito con 8 GB di RAM avrà solo tra 6 e 7,5 GB di RAM disponibili per i programmi perché il resto è assegnato esclusivamente all'iGPU. Inoltre, i dati scritti nella partizione di sistema sono accessibili solo dalla CPU e i dati scritti nella partizione GPU sono accessibili solo dall'iGPU. Questo è il motivo per cui l'uso da parte di Intel del termine 'UMA' è fuorviante nella migliore delle ipotesi.

Da dove hai queste informazioni? Ciò è contrario a tutta la documentazione tecnica e al comportamento dell'API di cui sono a conoscenza. Per quanto riguarda la 'partizione virtuale', questa è solo la RAM riservata all'uso della GPU. Anche i sistemi Apple lo fanno. X

xWhiplash

Collaboratore
21 ottobre 2009
  • 1 maggio 2021
leman ha detto: Da dove hai queste informazioni? Ciò è contrario a tutta la documentazione tecnica e al comportamento dell'API di cui sono a conoscenza. Per quanto riguarda la 'partizione virtuale', questa è solo la RAM riservata all'uso della GPU. Anche i sistemi Apple lo fanno.
Ancora una volta, è un cambiamento di programmazione. L'esecuzione di un vecchio gioco del 2005 su una moderna Intel iGPU dovrà comunque eseguire una copia nella memoria iGPU. Devi effettivamente dichiarare nel codice che vuoi zero buffer di memoria.

Poiché Apple non dispone di una VRAM iGPU dedicata, questo problema non si verifica. Non ha questa separazione.

Mostra dove i sistemi Apple mostrano sezioni dedicate di RAM SOLO per GPU. Ho un Mac mini M1 qui e non riesco a trovare dove indica solo 1 o 2 GB di VRAM disponibili. L

lemano

14 ottobre 2008
  • 1 maggio 2021
xWhiplash ha detto: Ancora una volta, è un cambiamento di programmazione. L'esecuzione di un vecchio gioco del 2005 su una moderna Intel iGPU dovrà comunque eseguire una copia nella memoria iGPU. Devi effettivamente dichiarare nel codice che vuoi zero buffer di memoria.

E ancora, è la stessa cosa quando usi Metal o qualsiasi altra API GPU. Sono davvero confuso su quello che stai cercando di dire.

Per favore, non prenderla nel modo sbagliato, ma a questo punto devo solo chiederti: qual è la tua esperienza con la programmazione GPU? Non mi sembra che tu abbia troppa familiarità con le API grafiche.

xWhiplash ha dichiarato: Poiché Apple non ha una VRAM iGPU dedicata, questo problema non si verifica. Non ha questa separazione.

Certo che lo fa. Fare riferimento alla documentazione Metal. Tutte le API di base presuppongono la copia dei dati nei buffer di memoria allocati dal driver. Se vuoi ottenere funzionalità di copia zero, devi utilizzare API specializzate (come dici tu, è un cambiamento di programmazione). Penso che sia come la quinta volta che lo menziono. Sta diventando un po' frustrante.

xWhiplash ha detto: Mostra dove i sistemi Apple mostrano sezioni dedicate di RAM SOLO per GPU. Ho un Mac mini M1 qui e non riesco a trovare dove indica solo 1 o 2 GB di VRAM disponibili.

La VRAM disponibile è solo alcune informazioni fornite dal driver/sistema operativo. Intel iGPU non ha alcuna VRAM. Hanno la memoria di sistema gestita dal driver GPU. Proprio come Apple. Il resto è solo il comportamento del conducente. Un driver Intel su Windows potrebbe limitare l'utilizzo massimo della RAM della GPU a circa 4 GB (onestamente, non lo saprei), Apple è più flessibile. X

xWhiplash

Collaboratore
21 ottobre 2009
  • 1 maggio 2021
leman ha detto: Per favore, non prenderla nel modo sbagliato, ma a questo punto devo solo chiederti: qual è la tua esperienza con la programmazione GPU? Non mi sembra che tu abbia troppa familiarità con le API grafiche.
Creo videogiochi, lavoro con pixel e vertex shader in Direct X, XNA, MonoGame, Unity, Unreal e altro ancora. Ho la mia esperienza ed è per questo che molte persone che hanno scritto dicendo che Intel non ha questo problema NON sanno che si tratta di un cambiamento di programmazione - e molte persone non si sono nemmeno rese conto che si trattava di un cambiamento di programmazione. Non sono riuscito a trovare un esempio in cui continui a sostenere che l'M1 di Apple soffra ancora di questo problema e ho cercato per giorni. Non sono in grado di trovare i flag necessari per il buffer di memoria zero come fai per Intel. Quindi, per favore, indicami la giusta direzione invece di dirlo solo 5 volte. Se hai la prova, mi piacerebbe sicuramente leggerla. NON ho visto NESSUNA prova che l'M1 abbia ancora una propria allocazione di memoria GPU dedicata. TUTTO ciò che ho letto e TUTTA la documentazione che ho visto afferma che la GPU M1 può accedere a QUALSIASI ea TUTTI gli 8 GB o 16 GB della memoria unificata.

Ho visto dozzine di discussioni e opinioni di sviluppatori come questa:

Perché il chip Apple M1 è così veloce - spiega uno sviluppatore | Esperto di produzione

Potresti esserti chiesto perché il chip Apple M1 è così veloce? In questo articolo impariamo da uno sviluppatore cosa rende così veloci anche questi Mac entry-level. www.pro-tools-expert.com
Con l'M1, anche questo fa parte del SoC. La memoria nell'M1 è quella che viene descritta come 'architettura di memoria unificata' (UMA) che consente a CPU, GPU e altri core di scambiare informazioni tra loro e, con la memoria unificata, la CPU e la GPU possono accedere alla memoria contemporaneamente piuttosto che piuttosto che copiare dati tra un'area e l'altra.

Ho provato a guardare la documentazione del metallo e NON vedo dove è richiesta una modifica alla programmazione come per Intel iGPU. Ancora una volta, se hai una parte specifica del documento, per favore indicamela. Ma tutti questi account degli sviluppatori e nulla che ho visto finora mi indica lo stesso problema che ha Intel IGPU.

E sai che quando diciamo VRAM riguardo a Intel iGPU, in realtà intendiamo 'memoria segmentata allocata alla GPU dal driver'. La VRAM è breve e facile e continua a portare a termine la conversazione. Ultima modifica: 1 maggio 2021 L

lemano

14 ottobre 2008
  • 1 maggio 2021
xWhiplash ha detto: Creo videogiochi, lavoro con pixel e vertex shader in Direct X, XNA, MonoGame, Unity, Unreal e altro ancora.

Ah, è fantastico, quindi possiamo discuterne a livello tecnico.

Modifica: scusa, il forum inserisce automaticamente gli emoji negli URL :/

xWhiplash ha detto: Ho la mia esperienza ed è per questo che molte persone che hanno scritto dicendo che Intel non ha questo problema NON sanno che si tratta di un cambiamento di programmazione - e molte persone non si sono nemmeno rese conto che si trattava di un cambiamento di programmazione. Non sono riuscito a trovare un esempio in cui continui a sostenere che l'M1 di Apple soffra ancora di questo problema e ho cercato per giorni. Non sono in grado di trovare i flag necessari per il buffer di memoria zero come fai per Intel.

Se vuoi avere un comportamento di copia zero, ovvero usa la tua allocazione di memoria come buffer della GPU che devi usare esplicitamente makeBuffer(bytesNoCopy:length Reazioni:Krevnik e xWhiplashProssimo

Vai alla pagina

andareProssimo Scorso