Fóruns

Jogos no M1

the8thark

Pôster original
18 de abril de 2011
  • 23 de abril de 2021
Em primeiro lugar, gostaria de compartilhar alguns vídeos do youtube onde um cara testou uma série de jogos no M1 (Macbook Pro). Portanto, o Mini deve ter um desempenho semelhante e o iMac, um desempenho ligeiramente melhor (presumo).

O primeiro vídeo tem 25 jogos testados, uma variedade de jogos Metal 2 e OpenGL de 64 bits, aplicativos para iPhone e iPad no Mac e jogos de 32 bits.

Spoiler:clique aqui para ver a lista da maioria dos 25 jogos do vídeo Borderlands 3
Half Life 2
World of Warcraft
Shadow of the Tomb Raider
Minecraft
DOTA 2
Bioshock 2: Remasterizado
Entre nós
F1 Mobile Racing
Stardew Valley (iOS)
Dead Trigger 2
Cavaleiro da alma
Monument Valley
Stardew Valley (Steam)
DiRT Rally
Borderlands 2
Counter-Strike: Global Offensive
Cuphead
Terra-média: Sombra de Mordor
Luz morrendo
Hades
The Pathless
Deus Ex: Mankind Divided
Cidade de Arkham do Batman
The Sims 4

O segundo vídeo tem 33 jogos testados que são uma variedade de jogos arm64, Parallels 16, Rosetta 2 e CrossOver.

Spoiler:clique aqui para ver a lista da maioria dos 33 jogos do vídeo Isolamento de Alienígena
A Plague Tale: Innocence
BioShock Remasterizado
O Conto do Bardo IV: DC
CS GO
SteamVR
GTA IV
The Elder Scrolls Online
SUPERHOT: MCD
DARK SOULS: REMASTERED
Ladrao
Crusader Kings III
CARNIÇA
LEGO: Os Incríveis
Fallout 4
Factorio
F1 2016
Pathfinder: Kingmaker - EPE
Moto Racer 4
trocar
Aragami
Durar mais que
The Sims 2
DIA DE PAGAMENTO 2
Yooka-Laylee
O longo escuro
Skul: The Hero Slayer

O terceiro vídeo de vídeo tem 32 jogos testados

Spoiler:clique aqui para ver a lista da maioria dos 32 jogos do vídeo Metro Exodus
Caminho do exílio
Spacebase Startopia
NBA 2K21 Arcade Edition
Yakuza 0
GWENT: The Witcher Card Game
Febre de transporte 2
Gzdoom
Wreckfest
Ori e a floresta cega: edição definitiva
Ori e a vontade dos Wisps
Torneio irreal
Frostpunk
Além do azul
A última fogueira
DEVOÇÃO
O Princípio Talos
Hellblade: Sacrifício de Senua
Mochileiro
Entre na Gungeon
Valheim
Intruso
Assassin's Creed IV: Black Flag
Disco Elysium: The Final Cut
curativos
Cidades: Skylines
Camadas do medo 2
Menino narita
Pequenos pesadelos

Nenhum desses jogos é de ponta ou gráficos finais de 2021, mas os dois vídeos aqui devem lhe dar uma boa visão geral de como o M1 é capaz para jogos. É muito mais capaz do que eu pensava.
Reações:AdamInKent, George Dawes, matrix07 e 1 outra pessoa

Lowhangers

26 de novembro de 2017


  • 23 de abril de 2021
O único jogo que jogo no meu Mac mini é World of Warcraft. E funciona muito bem adicionar uma resolução respeitável de 60 quadros por segundo no meu M1 Mac mini. Não tenho qualquer reclamação, pelo preço que paguei pelo mini.

A Apple fez um trabalho fantástico com o M1, e só posso imaginar o quão melhor ele ficará ao longo dos anos, à medida que o for aprimorando. Não consigo imaginar onde a web estará em quatro ou cinco gerações desses processadores.
Reações:LeeW, George Dawes e Retrostarscream

haralds

3 de janeiro de 2014
Vale do Silício, CA
  • 25 de abril de 2021
O desempenho do jogo é surpreendentemente bom, mesmo para jogos do Windows executados no hipervisor do Windows 10 e emulação x86.
Reações:the8thark, George Dawes e thedocbwarren

George Dawes

17 de julho de 2014
= VH =
  • 29 de abril de 2021
Imagine um appletv com o chip m1!

Então eles realmente poderiam chamar o Apple Arcade, nível de arcade / console ..
Reações:AdamInKent, SigEp265 e the8thark A

leman

14 de outubro de 2008
  • 29 de abril de 2021
dmccloud disse: Usando a lógica 'convencional', o desempenho gráfico do M1 não deve ser tão bom quanto é.

Se por lógica convencional você entende a crença popular 'iGPUs são lentos'. É o mesmo que 'ARM é lento' - só porque um paradigma tem sido tradicionalmente usado para dispositivos de baixo custo e baixo desempenho, isso não significa que não possa ser usado para construir um dispositivo de alto desempenho.

M1 tem excelente potencial para desempenho em jogos, especialmente se os jogos usassem seus recursos exclusivos. O TBDR da Apple permite simplificar e agilizar radicalmente o código e o uso de recursos para muitas abordagens de renderização modernas. GPUs tradicionais exigem que você salte obstáculos não óbvios ao fazer algumas coisas, com os dispositivos da Apple pode ser um passeio no parque em vez disso.

dmccloud disse: No entanto, isso é baseado em ver as coisas através do paradigma x86 (Intel), onde iGPUs são lixo quente na melhor das hipóteses, completamente inutilizáveis ​​de outra forma. UMA desempenha um grande papel nisso, já que a CPU e a GPU podem acessar os mesmos dados simultaneamente, em vez de ter que copiar os dados nas partições do sistema e iGPU, em seguida, reconciliar as alterações feitas em ambas as cópias.

UMA é muito menos importante para jogos (do que, digamos, para software de criação de conteúdo), porque é muito raro que jogos exijam acesso de CPU e GPU aos dados. A grande maioria dos jogos usa a CPU como uma área de teste para configurar recursos que são então copiados e usados ​​na GPU. É isso.

E mais algumas notas:

- Só o fato de você ter UMA não significa que não tenha que copiar os dados. A funcionalidade de cópia zero requer o uso explícito de APIs especializadas e precisa que você configure seus dados de uma maneira muito particular. Os jogos simplesmente não se preocupam com isso. Portanto, você ainda precisa copiar os dados, é apenas a cópia em si é muito mais rápida (você obtém largura de banda total de 68 + GBps em vez de 15 GBps de PCI-e 3.0 16x usado em GPUs de jogos de última geração)

- Intel (e AMD) iGPUs têm usado UMA há anos. Sua topologia de memória é praticamente idêntica à da Apple (CPU e memória de acesso GPU através de um cache de último nível compartilhado). A Apple simplesmente tem controladores de memória muito mais capazes (e também tamanhos de cache de GPU de desktop) - eles otimizam o desempenho e a eficiência aqui e não custam como outros fornecedores.
Reações:thekev, falainber, JMacHack e 1 outra pessoa S

fuso

5 de outubro de 2020
  • 29 de abril de 2021
leman disse: - Intel (e AMD) iGPUs têm usado UMA há anos. Sua topologia de memória é praticamente idêntica à da Apple (CPU e memória de acesso GPU através de um cache de último nível compartilhado). A Apple simplesmente tem controladores de memória muito mais capazes (e também tamanhos de cache de GPU de desktop) - eles otimizam o desempenho e a eficiência aqui e não custam como outros fornecedores.
Sem iGPUs intel e amd não usam UMA.

As seções Intel e AMD iGPU de uma parte da RAM do sistema a serem usadas como vRAM; o resto do sistema não pode acessar essa parte da RAM de forma alguma, apenas a GPU pode.

Não é o caso com UMA, com UMA todo o sistema tem acesso a toda a RAM a todo momento.

E em relação aos jogos 'não fazer uso de UMA' não tem nada a ver com os jogos e tudo a ver com os drivers gráficos. O jogo apenas chama via API para o driver gráfico, o driver então ordena o manuseio da memória.
Reações:cal6n e dmccloud A

leman

14 de outubro de 2008
  • 29 de abril de 2021
Spindel disse: Sem intel e os iGPUs da AMD não usam UMA.

As seções Intel e AMD iGPU de uma parte da RAM do sistema a serem usadas como vRAM; o resto do sistema não pode acessar essa parte da RAM de forma alguma, apenas a GPU pode.

Isso está simplesmente errado. A documentação da Intel afirma claramente que seus iGPUs começando com pelo menos Sandy Bridge (se bem me lembro) usam UMA e expõem extensões de dados de CPU / GPU de cópia zero para OpenCL que funcionam de forma idêntica à funcionalidade de cópia zero do Apple Metal.

Spindel disse: E em relação aos jogos 'não fazer uso de UMA' não tem nada a ver com os jogos e tudo a ver com os drivers gráficos. O jogo apenas chama via API para o driver gráfico, o driver então ordena o manuseio da memória.

Novamente, isso está errado (pelo menos no que diz respeito ao tópico). APIs gráficas exigem que você copie manualmente os dados (fornecendo um ponteiro de dados antecipadamente ou usando APIs de cópia / mapeamento). Então UMA ou não UMA, se você estiver usando algo como MTLBuffer.contents () ou MTLTexture.replace () você está sempre fazendo uma cópia de memória do armazenamento alocado por sua aplicação para o armazenamento alocado pelo driver. Você precisa usar MTLDevice.makeBuffer (bytesNoCopy:) se quiser um comportamento de cópia zero.

Resumindo: só porque seu sistema tem UMA, isso não significa que todas as cópias de dados possam ser eliminadas magicamente.
Reações:Krevnik

dmccloud

7 de setembro de 2009
Anchorage, AK
  • 29 de abril de 2021
leman disse: Isso é simplesmente errado. A documentação da Intel afirma claramente que seus iGPUs começando com pelo menos Sandy Bridge (se bem me lembro) usam UMA e expõem extensões de dados de CPU / GPU de cópia zero para OpenCL que funcionam de forma idêntica à funcionalidade de cópia zero do Apple Metal.



Novamente, isso está errado (pelo menos no que diz respeito ao tópico). APIs gráficas exigem que você copie manualmente os dados (fornecendo um ponteiro de dados antecipadamente ou usando APIs de cópia / mapeamento). Então UMA ou não UMA, se você estiver usando algo como MTLBuffer.contents () ou MTLTexture.replace () você está sempre fazendo uma cópia de memória do armazenamento alocado por sua aplicação para o armazenamento alocado pelo driver. Você precisa usar MTLDevice.makeBuffer (bytesNoCopy:) se quiser um comportamento de cópia zero.

Resumindo: só porque seu sistema tem UMA, isso não significa que todas as cópias de dados possam ser eliminadas magicamente.

Independentemente de como a Intel o chame, ainda não é UMA verdadeira. Vá para a Best Buy e observe qualquer um dos laptops em exibição apenas com gráficos integrados. Você verá que eles dirão algo como '8 GB de RAM (6,03 GB disponíveis). Isso porque eles ainda estão particionando a RAM física em partições virtuais de CPU / iGPU. A Intel gosta de enganar ou até mesmo mentir em seus materiais de marketing e às vezes técnicos. Quando eles anunciaram suas CPUs de 11ª geração, eles apenas compararam seu iGPU (que na verdade era apenas uma mudança de marca da placa de vídeo 'UMA' usada nas peças de 9ª e 10ª geração) aos AMDs Vega 4 e nVidia MX250 (que já havia sido substituído por o MX350) em uma tentativa de provar que seus gráficos eram superiores. Um grupo de nós assistiu a essa apresentação no trabalho e destruiu a Intel pela quantidade de declarações enganosas que amontoaram em uma apresentação pré-gravada de 47 minutos.
Reações:dahlblom X

xWhiplash

Contribuinte
21 de outubro de 2009
  • 29 de abril de 2021
O M1 bate ou compete com a GTX 1050 Ti, que ainda é a 2ª na pesquisa de hardware do Steam.

Pesquisa de Hardware e Software Steam
Eu realmente espero que quando chegar ao Mac Pro, que a GPU seja bastante competitiva. Tentar obter até mesmo um RTX 3060 é impossível. X

xWhiplash

Contribuinte
21 de outubro de 2009
  • 29 de abril de 2021
leman disse: Isso é simplesmente errado. A documentação da Intel afirma claramente que seus iGPUs começando com pelo menos Sandy Bridge (se bem me lembro) usam UMA e expõem extensões de dados de CPU / GPU de cópia zero para OpenCL que funcionam de forma idêntica à funcionalidade de cópia zero do Apple Metal.
Se você leu o documento, precisa ser uma mudança de programação. Em quantos softwares essa mudança foi implementada?

software.intel.com

Obtendo o máximo do OpenCL ™ 1.2: Como aumentar o desempenho ...

Downloads Download Obtendo o máximo do OpenCL ™ 1.2: Como aumentar o desempenho minimizando cópias de buffer no Intel® Proce software.intel.com
Para criar buffers de cópia zero, siga um destes procedimentos:

Use CL_MEM_ALLOC_HOST_PTR e deixe o runtime lidar com a criação de um buffer de alocação de cópia zero para você

Se você já tem os dados e deseja carregá-los em um objeto de buffer OpenCL, use CL_MEM_USE_HOST_PTR com um buffer alocado em um limite de 4096 bytes (alinhado a um limite de página e linha de cache) e um tamanho total que é um múltiplo de 64 bytes (tamanho da linha do cache).

Ao ler ou gravar dados nesses buffers do host, use clEnqueueMapBuffer (), opere no buffer e chame clEnqueueUnmapMemObject (). Este documento contém exemplos de códigos para demonstrar as melhores práticas conhecidas nas plataformas Intel®.
J

JouniS

22 de novembro de 2020
  • 29 de abril de 2021
Espero que o M1 permaneça bom nos próximos um ou dois anos. Quando a escassez de componentes acabar, muitas pessoas terão consoles e GPUs da geração atual, e novos jogos serão projetados para aproveitar o hardware mais rápido. Uma GPU M1 de 16 núcleos seria então de gama baixa e 32 núcleos seria de gama média.

Sempre há um salto intencional nos requisitos de hardware algum tempo após o lançamento de uma nova geração de console. Se os consoles antigos ainda fossem adequados para novos jogos, haveria poucos motivos para comprar novos modelos. Por outro lado, como o tempo entre as gerações de console é de aproximadamente 7 anos, qualquer hardware que seja bom após o salto permanecerá bom por muitos anos. A

leman

14 de outubro de 2008
  • 30 de abril de 2021
dmccloud disse: Independentemente de como a Intel o chame, ainda não é UMA verdadeira. Vá para a Best Buy e observe qualquer um dos laptops em exibição apenas com gráficos integrados. Você verá que eles dirão algo como '8 GB de RAM (6,03 GB disponíveis). Isso porque eles ainda estão particionando a RAM física em partições virtuais de CPU / iGPU.

É assim que funciona o modelo do driver. Obviamente, alguma memória é reservada para fins de GPU. Não é tão diferente com M1: você pode consultar a quantidade de memória GPU disponível e o número que você obtém não é a RAM total do sistema. Essa é apenas uma questão de relatório / 'contabilidade' e tem pouco a ver com a UMA em si. Memória unificada significa que a GPU e a CPU são capazes de acessar fisicamente (e logicamente) a mesma memória de uma forma coerente com o cache, e qualquer modelo Intel iGPU razoável tem essa capacidade.

dmccloud disse: A Intel gosta de enganar ou até mesmo mentir em seu marketing ...

Oh, isso absolutamente podemos concordar. O marketing da Intel gosta de ser, como dizer ... 'otimista'. Mas do ponto de vista técnico, as GPUs Intel são bastante interessantes e não são dispositivos sem sofisticação. Eles têm recursos de computação muito flexíveis.

xWhiplash disse: Se você leu o documento, precisa ser uma mudança de programação. Em quantos softwares essa mudança foi implementada?

Exatamente a mesma coisa para a Apple Silicon. Se você deseja um comportamento de cópia zero, deve usar uma API específica e certificar-se de alocar sua memória de uma maneira específica.
Reações:thekev

LeeW

5 de fevereiro de 2017
Sobre a colina e longe
  • 30 de abril de 2021
Lowhangers disse: O único jogo que jogo no meu Mac mini é World of Warcraft. E funciona muito bem adicionar uma resolução respeitável de 60 quadros por segundo no meu M1 Mac mini. Não tenho qualquer reclamação, pelo preço que paguei pelo mini.

A Apple fez um trabalho fantástico com o M1, e só posso imaginar o quão melhor ele ficará ao longo dos anos, à medida que o for aprimorando. Não consigo imaginar onde a web estará em quatro ou cinco gerações desses processadores.

Este também sou eu, só jogo WoW casualmente e entro e saio do Retail / Classic quando o tempo permite. Jogado desde 2006, mas não faça mais raid, apenas divirta-se com algumas missões e vagando pelo mundo.

Funciona de forma incrível no M1 Mac Mini, em comparação com meus dispositivos anteriores de 2014 e 2018. 45-60 FPS em uma configuração de 3440x1440 @ max com um ligeiro ajuste às sombras, mal esquenta e manuseia muito bem. X

xWhiplash

Contribuinte
21 de outubro de 2009
  • 30 de abril de 2021
leman disse: Exatamente a mesma coisa para a Apple Silicon. Se você deseja um comportamento de cópia zero, deve usar uma API específica e certificar-se de alocar sua memória de uma maneira específica.
Não é assim que funciona. A Apple Silicon tem acesso a todo e qualquer 16 GB de RAM. Não há VRAM separado, mas ainda há para Intel iGPU.
Reações:dmccloud

Hessel89

27 de setembro de 2017
Holanda
  • 30 de abril de 2021
Apenas com base nas pontuações do geekbench, eu esperava um desempenho semelhante ao de um AMD RX 560.
Este parece ser exatamente o caso na maioria dos jogos, com a única diferença de que posso definir a distância do desenho para seu máximo absoluto no M1. (graças aos 16 GB de memória ram unificada)

Com jogos habilitados para Metal 2, é um jogo totalmente diferente!
Posso jogar X-plane 11 em 2560 x 1440 com tudo definido como Ultra / High e ainda estou obtendo sólidos 30 a 40 fps.
Isso é realmente melhor do que o que um amigo meu está recebendo com seu RTX 2060. Todo o tempo fica completamente quieto!

Não deveria ser tão poderoso, mas de alguma forma é ..
Reações:Caseiro A

leman

14 de outubro de 2008
  • 30 de abril de 2021
xWhiplash disse: Não é assim que funciona. A Apple Silicon tem acesso a todo e qualquer 16 GB de RAM. Não há VRAM separado, mas ainda há para Intel iGPU.

Não estou ciente de quaisquer limitações de endereçamento de memória nos Intel iGPUs. Os dispositivos Intel e Apple acessam a memória do sistema por meio do mesmo cache de último nível e do mesmo controlador de memória. Toda a memória da GPU Intel é visível e coerente com o cache da CPU e vice-versa. Os dispositivos GPU da Intel e da Apple podem acessar diretamente as alocações de memória do sistema (cópia zero) usando APIs opcionais.

Quaisquer relatórios de 'tamanho VRAM' etc. que você possa ver são limitações específicas do driver ou do sistema operacional. Pelo que eu sei, o driver da GPU Intel pode ajustar essas listas dinamicamente, o Apple Silicon usa limites naturais muito altos desde o início. Ambos reservam certa quantidade de RAM para fins de GPU. S

fuso

5 de outubro de 2020
  • 30 de abril de 2021
leman disse: Não estou ciente de nenhuma limitação de endereçamento de memória nos iGPUs da Intel. Os dispositivos Intel e Apple acessam a memória do sistema por meio do mesmo cache de último nível e do mesmo controlador de memória. Toda a memória da GPU Intel é visível e coerente com o cache da CPU e vice-versa. Os dispositivos GPU da Intel e da Apple podem acessar diretamente as alocações de memória do sistema (cópia zero) usando APIs opcionais.

Quaisquer relatórios de 'tamanho VRAM' etc. que você possa ver são limitações específicas do driver ou do sistema operacional. Pelo que eu sei, o driver da GPU Intel pode ajustar essas listas dinamicamente, o Apple Silicon usa limites naturais muito altos desde o início. Ambos reservam certa quantidade de RAM para fins de GPU.
Sim, é verdade que o tamanho do vram pode ser ajustado dinamicamente com o intel igpus.
Mas você não entendeu, o vram alocado ainda não pode ser acessado pelo resto do sistema. Portanto, se você tiver uma entidade gráfica que precisa de posicionamento (feito pela CPU), essa entidade deve residir no vram e na memória ram do sistema. Como a cpu precisa fazer seus cálculos nela e como não pode acessar o vram, ela precisa de uma cópia na memória ram do sistema (tudo isso simplificado grosseiramente)

com UMA, tanto a cpu quanto a gpu podem acessar o mesmo endereço de memória. A

leman

14 de outubro de 2008
  • 30 de abril de 2021
Spindel disse: Mas você não entendeu, o vram alocado ainda não pode ser acessado pelo resto do sistema. Portanto, se você tiver uma entidade gráfica que precisa de posicionamento (feito pela CPU), essa entidade deve residir no vram e na memória ram do sistema. Como a cpu precisa fazer seus cálculos nela e como não pode acessar o vram, ela precisa de uma cópia na memória ram do sistema (tudo isso simplificado grosseiramente)

Isso é simplesmente incorreto. Não há 'VRAM' com os iGPUs modernos da Intel ou AMD. A CPU e a GPU podem acessar a mesma memória física. Como escrevi antes, a CPU e a GPU compartilham os caches e os controladores de memória.

Se você não acredita em mim, olhe os pools de memória Vulkan disponíveis para esses dispositivos (via vkGetPhysicalDeviceMemoryProperties). Eles apenas os pools de memória que oferecem podem ser acessados ​​pelo dispositivo (GPU) e pelo host (CPU).

Spindel disse: com UMA, tanto a cpu quanto a gpu podem acessar o mesmo endereço de memória.

Precisamente. É por isso que estou intrigado que você afirme que a Intel não é UMA. É exatamente assim que os Intel iGPUs funcionam.

dmccloud

7 de setembro de 2009
Anchorage, AK
  • 30 de abril de 2021
leman disse: Isso é simplesmente incorreto. Não há 'VRAM' com os iGPUs modernos da Intel ou AMD. A CPU e a GPU podem acessar a mesma memória física. Como escrevi antes, a CPU e a GPU compartilham os caches e os controladores de memória.

Se você não acredita em mim, olhe os pools de memória Vulkan disponíveis para esses dispositivos (via vkGetPhysicalDeviceMemoryProperties). Eles apenas os pools de memória que oferecem podem ser acessados ​​pelo dispositivo (GPU) e pelo host (CPU).



Precisamente. É por isso que estou intrigado que você afirme que a Intel não é UMA. É exatamente assim que os Intel iGPUs funcionam.

Com os Intel iGPUs, a RAM é dividida em duas partições virtuais: uma que é usada como RAM do sistema e a outra é dedicada ao iGPU. Portanto, um laptop HP ou Dell que vem com 8 GB de RAM terá apenas entre 6 e 7,5 GB de RAM disponível para programas porque o resto é alocado exclusivamente para o iGPU. Além disso, os dados gravados na partição do sistema podem ser acessados ​​apenas pela CPU e os dados gravados na partição GPU acessíveis apenas pelo iGPU. É por isso que o uso do termo 'UMA' pela Intel é, na melhor das hipóteses, enganoso. Com o M1, a Apple concedeu acesso total a todo o espaço de endereço da memória para os núcleos da CPU e GPU. Para aplicativos em que a GPU e a CPU são usadas (muitos MMOs, incluindo World of Warcraft se enquadram nesses critérios), os dados devem ser copiados em ambas as partições no lado do Windows e, em seguida, as alterações devem ser reconciliadas antes que qualquer saída seja realizada. Com o M1, os núcleos da CPU e GPU podem acessar e modificar os dados simultaneamente . Isso acelera o desempenho geral porque a etapa de reconciliação não é mais necessária. A

leman

14 de outubro de 2008
  • 30 de abril de 2021
dmccloud disse: Com os Intel iGPUs, a RAM é dividida em duas partições virtuais: uma que é usada como RAM do sistema e a outra é dedicada ao iGPU. Portanto, um laptop HP ou Dell que vem com 8 GB de RAM terá apenas entre 6 e 7,5 GB de RAM disponível para programas porque o resto é alocado exclusivamente para o iGPU. Além disso, os dados gravados na partição do sistema podem ser acessados ​​apenas pela CPU e os dados gravados na partição GPU acessíveis apenas pelo iGPU. É por isso que o uso do termo 'UMA' pela Intel é, na melhor das hipóteses, enganoso.

De onde você tem essas informações? Isso é contrário a toda documentação técnica e comportamento da API que eu conheço. Quanto à 'partição virtual' - é apenas a RAM reservada para o uso da GPU. Os sistemas Apple também fazem isso. X

xWhiplash

Contribuinte
21 de outubro de 2009
  • 1 ° de maio de 2021
leman disse: De onde você tirou essa informação? Isso é contrário a toda documentação técnica e comportamento da API que eu conheço. Quanto à 'partição virtual' - é apenas a RAM reservada para o uso da GPU. Os sistemas Apple também fazem isso.
Novamente, é uma mudança de programação. Rodar um jogo antigo de 2005 em um Intel iGPU moderno ainda precisará fazer uma cópia para a memória do iGPU. Você precisa realmente declarar no código que deseja buffer de memória zero.

Como a Apple não tem um iGPU VRAM dedicado, esse problema não ocorre. Não tem essa separação.

Mostre onde os sistemas Apple mostram seções dedicadas de RAM SOMENTE para GPU. Eu tenho um Mac mini M1 aqui e não consigo encontrar onde diz apenas 1 ou 2 GB de VRAM disponível. A

leman

14 de outubro de 2008
  • 1 ° de maio de 2021
xWhiplash disse: Mais uma vez, é uma mudança de programação. Rodar um jogo antigo de 2005 em um Intel iGPU moderno ainda precisará fazer uma cópia para a memória do iGPU. Você precisa realmente declarar no código que deseja buffer de memória zero.

E, novamente, é a mesma coisa quando você usa Metal ou qualquer outra API de GPU. Estou realmente confuso quanto ao que você está tentando dizer.

Por favor, não me leve a mal, mas eu só tenho que perguntar agora: qual é a sua experiência com a programação em GPU? Não me parece que você esteja muito familiarizado com APIs gráficas.

xWhiplash disse: Como a Apple não tem um iGPU VRAM dedicado, esse problema não ocorre. Não tem essa separação.

Claro que sim. Consulte a documentação do Metal. Todas as APIs básicas pressupõem que você está copiando dados em buffers de memória alocada pelo driver. Se você deseja alcançar a funcionalidade de cópia zero, você precisa usar APIs especializadas (como você diz, é uma mudança de programação). Acho que é a quinta vez que menciono isso. Está ficando um pouco frustrante.

xWhiplash disse: Por favor, mostre onde os sistemas Apple mostram seções dedicadas de RAM SOMENTE para GPU. Eu tenho um Mac mini M1 aqui e não consigo encontrar onde diz apenas 1 ou 2 GB de VRAM disponível.

VRAM disponível são apenas algumas informações que o driver / sistema operacional fornece. Intel iGPU não tem VRAM. Eles têm memória de sistema gerenciada pelo driver da GPU. Assim como a Apple. O resto é apenas comportamento do motorista. Um driver Intel no Windows pode limitar seu uso máximo de GPU RAM a 4 GB ou mais (honestamente, eu não saberia), a Apple é mais flexível. X

xWhiplash

Contribuinte
21 de outubro de 2009
  • 1 ° de maio de 2021
leman disse: Por favor, não me leve a mal, mas eu só tenho que perguntar agora: qual é a sua experiência com a programação em GPU? Não me parece que você esteja muito familiarizado com APIs gráficas.
Eu crio videogames, trabalho com pixel e vertex shaders em Direct X, XNA, MonoGame, Unity, Unreal e mais. Tenho a minha experiência e é por isso que várias pessoas que postaram dizendo que a Intel não tem esse problema NÃO sabem que é uma mudança de programação - e muitas pessoas nem perceberam que era uma mudança de programação. Não consegui encontrar um exemplo em que você afirme que o M1 da Apple ainda sofre com esse problema, e tenho pesquisado por dias. Não consigo encontrar os sinalizadores necessários para buffer de memória zero como você faz para a Intel. Então, por favor, me aponte na direção certa em vez de apenas dizer 5 vezes. Se você tiver a prova, com certeza gostaria de lê-la. NÃO vi NENHUMA prova de que o M1 ainda tem sua própria alocação de memória GPU dedicada. TUDO que li e TODA a documentação que vi afirmam que a GPU M1 pode acessar TODOS e quaisquer 8 GB ou 16 GB da Memória Unificada.

Já vi dezenas de discussões e opiniões de desenvolvedores como esta:

Por que o chip Apple M1 é tão rápido - explica um desenvolvedor | Especialista em produção

Você deve estar se perguntando por que o Chip M1 da Apple é tão rápido? Neste artigo, aprendemos com um desenvolvedor sobre o que torna, mesmo esses Macs básicos, tão rápidos. www.pro-tools-expert.com
Com o M1, isso também faz parte do SoC. A memória no M1 é o que é descrito como uma 'arquitetura de memória unificada' (UMA) que permite que a CPU, GPU e outros núcleos troquem informações entre si e, com a memória unificada, a CPU e a GPU podem acessar a memória simultaneamente, em vez do que copiar dados entre uma área e outra.

Eu tentei olhar a documentação de metal e NÃO vejo onde uma mudança de programação é necessária como no caso do Intel iGPU. Novamente, se você tiver uma parte específica do documento, indique-me. Mas todas essas contas de desenvolvedores, e nada que eu tenha visto até agora, me apontam para o mesmo problema que o Intel IGPU tem.

E você sabe que quando dizemos VRAM em relação ao Intel iGPU, na verdade queremos dizer 'memória segmentada alocada para a GPU pelo driver'. VRAM é curto e fácil e ainda realiza a conversa. Última edição: 1º de maio de 2021 A

leman

14 de outubro de 2008
  • 1 ° de maio de 2021
xWhiplash disse: Eu crio videogames, trabalho com pixel e vertex shaders em Direct X, XNA, MonoGame, Unity, Unreal e mais.

Ah, isso é ótimo, então podemos discutir isso em um nível técnico.

Editar: desculpe, o fórum insere emojis nos URLs automaticamente: /

xWhiplash disse: Tenho minha experiência e é por isso que várias pessoas que postaram dizendo que a Intel não tem esse problema NÃO sabem que é uma mudança de programação - e muitas pessoas nem perceberam que era uma mudança de programação. Não consegui encontrar um exemplo em que você afirme que o M1 da Apple ainda sofre com esse problema, e tenho pesquisado por dias. Não consigo encontrar os sinalizadores necessários para buffer de memória zero como você faz para a Intel.

Se você quiser ter um comportamento de cópia zero, ou seja, use sua própria alocação de memória como buffer de GPU, você deve usar explicitamente makeBuffer (bytesNoCopy: comprimento Reações:Krevnik e xWhiplashPróximo

Vá para página

IrPróximo Último