Forumlar

M1'de oyun oynamak

the8thark

Orijinal afiş
18 Nis 2011
  • 23 Nis 2021
Öncelikle, bir adamın M1'de (Macbook Pro) birkaç oyunu test ettiği youtube'dan birkaç video paylaşmak istiyorum. Yani Mini benzer bir performans elde etmeli ve iMac biraz daha iyi performans göstermeli (sanırım).

İlk video, 64 bit Metal 2 ve OpenGL oyunları, Mac'te iPhone ve iPad uygulamaları ve 32 bit oyunlar olmak üzere test edilen 25 oyunu içeriyor.

Bir şeyin önceden reklamı:videodaki 25 oyunun çoğunun listesini görmek için buraya tıklayın Sınır Toprakları 3
Yarı Ömür 2
World of Warcraft
Tomb Raider'ın Gölgesi
Minecraft
DOTA2
Bioshock 2: Yeniden Düzenlendi
Aramızda
F1 Mobil Yarış
Stardew Vadisi (iOS)
Ölü Tetik 2
ruh şövalyesi
Anıt vadisi
Stardew Vadisi (Buhar)
DiRT Rallisi
Sınır Toprakları 2
Counter-Strike: Global Offensive
kupa kafa
Orta Dünya: Mordor'un Gölgesi
Ölen Işık
Hades
Yolsuz
Deus Ex: İnsanlık Bölündü
Batman arkham şehri
Simler 4

İkinci videoda Arm64, Parallels 16, Rosetta 2 ve CrossOver oyunlarından oluşan 33 oyun test edildi.

Bir şeyin önceden reklamı:videodaki 33 oyunun çoğunun listesini görmek için buraya tıklayın uzaylı izolasyonu
Bir Veba Masalı: Masumiyet
BioShock Yeniden Düzenlendi
Bard'ın Masalı IV: DC
CS GO
SteamVR
GTA IV
Elder Scrolls Çevrimiçi
SÜPER HIZ: MCD
KARANLIK RUHLAR: YENİDEN YÖNETİLDİ
Hırsız
Haçlı Kralları III
LEŞ
LEGO: İnanılmazlar
serpinti 4
faktörio
F1 2016
Yol Bulucu: Kingmaker - EPE
motor yarışçısı 4
değiştirmek
Aragami
uzun ömürlü
Sims 2
ÖDEME GÜNÜ 2
Yooka-Laylee
Uzun Karanlık
Skul: Kahraman Avcısı

Üçüncü video videoda test edilen 32 oyun var

Bir şeyin önceden reklamı:videodaki 32 oyunun çoğunun listesini görmek için buraya tıklayın Metro Çıkışı
Sürgün yolu
Uzay Üssü Startopia
NBA 2K21 Arcade Sürümü
Yakuza 0
GWENT: The Witcher Kart Oyunu
Taşıma Ateşi 2
Gzdoom
batık festivali
Ori ve Kör Orman: Kesin Sürüm
Ori ve Perilerin İradesi
Gerçek dışı Turnuva
Frostpunk
mavinin ötesinde
son kamp ateşi
ÖZVERİ
Talos İlkesi
Hellblade: Senua'nın Kurbanı
Otostopçu
Gungeon'a girin
Valheim
davetsiz misafir
Assassin's Creed IV: Kara Bayrak
Disco Elysium: Son Kesim
pansumanlar
Şehirler: Skylines
Korku Katmanları 2
narita çocuğu
Küçük Kabuslar

Bu oyunların hiçbiri son teknoloji veya 2021 son grafikleri değil, ancak buradaki iki video size M1'in oyun için ne kadar yetenekli olduğuna dair iyi bir genel bakış sunmalıdır. İlk düşündüğümden çok daha yetenekli.
Tepkiler:AdamInKent, George Dawes, matrix07 ve 1 kişi daha

Alçakgönüllüler

26 Kasım 2017


  • 23 Nis 2021
Mac mini'mde oynadığım tek oyun World of Warcraft. Ve oldukça iyi çalışıyor, M1 Mac mini'mde saniyede 60 kare hızında saygın bir çözünürlük ekliyor. Mini için ödediğim fiyat için hiçbir şikayetim yok.

Apple, M1 ile harika bir iş çıkardı ve yıllar geçtikçe geliştirdikçe ne kadar daha iyi olacağını sadece hayal edebiliyorum. Web'in bu işlemcilerin dört veya beş neslinde nerede olacağını hayal edemiyorum.
Tepkiler:LeeW, George Dawes ve Retrostarscream

haraldlar

3 Ocak 2014
Silikon Vadisi, CA
  • 25 Nis 2021
Oyun performansı, Windows 10 hiper yönetici ve x86 öykünmesi altında çalışan Windows oyunları için bile şaşırtıcı derecede iyidir.
Tepkiler:the8thark, George Dawes ve thedocbwarren

George Dawes

17 Tem 2014
=VH=
  • 29 Nis 2021
m1 çipli bir appletv düşünün!

O zaman gerçekten Apple Arcade, arcade / konsol seviyesi diyebilirler.
Tepkiler:AdamInKent, SigEp265 ve the8thark NS

leman

14 Ekim 2008
  • 29 Nis 2021
dmccloud şunları söyledi: 'Geleneksel' mantığı kullanarak, M1'in grafik performansı neredeyse olduğu kadar iyi olmamalı.

Geleneksel mantıkla, popüler 'iGPU'lar yavaştır' inancını kastediyorsanız. 'ARM yavaştır' ile aynıdır - bir paradigmanın geleneksel olarak düşük maliyetli, düşük performanslı cihazlar için kullanılması, yüksek performanslı bir cihaz oluşturmak için kullanılamayacağı anlamına gelmez.

M1, özellikle oyunlar benzersiz özelliklerini kullanacaksa, oyun performansı için mükemmel bir potansiyele sahiptir. Apple'ın TBDR'si, birçok modern işleme yaklaşımı için kod ve kaynak kullanımını kökten basitleştirmeye ve düzenlemeye olanak tanır. Geleneksel GPU'lar, bazı şeyler yaparken bariz olmayan çemberlerden atlamanızı gerektirir, Apple'ın cihazlarıyla bunun yerine parkta yürüyüş yapılabilir.

dmccloud şunları söyledi: Ancak, bu, iGPU'ların en iyi ihtimalle sıcak çöp olduğu, aksi takdirde tamamen kullanılamaz olduğu x86 (Intel) paradigması aracılığıyla şeyleri görüntülemeye dayanır. UMA bunda büyük rol oynar, çünkü verileri hem sisteme hem de iGPU bölümlerine kopyalamak ve ardından her iki kopyada yapılan değişiklikleri uzlaştırmak yerine hem CPU hem de GPU aynı verilere aynı anda erişebilir.

UMA, oyunlar için (içerik oluşturma yazılımından çok) daha az önemlidir, çünkü oyunların verilere hem CPU hem de GPU erişimi gerektirmesi çok nadirdir. Oyunların ezici çoğunluğu, daha sonra GPU'da kopyalanan ve kullanılan kaynakları ayarlamak için CPU'yu bir hazırlama alanı olarak kullanır. Bu kadar.

Ve birkaç not daha:

- Sadece UMA'ya sahip olmanız, verileri kopyalamanız gerekmediği anlamına gelmez. Sıfır kopya işlevi, özel API'lerin açık bir şekilde kullanılmasını gerektirir ve verilerinizi çok özel bir şekilde ayarlamanızı gerektirir. Oyunlar bununla uğraşmaz. Yani yine de verileri kopyalamanız gerekiyor, sadece kopyanın kendisi çok daha hızlı (üst düzey oyun GPU'larında kullanılan 15 GBps PCI-e 3.0 16x yerine tam 68+ GBps bant genişliği elde edersiniz)

- Intel (ve AMD) iGPU'ları yıllardır UMA kullanıyor. Bellek topolojileri, Apple'ınkiyle pratik olarak aynıdır (paylaşılan bir son seviye önbellek aracılığıyla CPU ve GPU erişim belleği). Apple'ın yalnızca çok daha yetenekli bellek denetleyicileri (ve ayrıca masaüstü düzeyinde GPU önbellek boyutları) vardır - burada performans ve verimlilik için optimize ederler ve diğer satıcılar gibi maliyet gerektirmezler.
Tepkiler:thekev, falainber, JMacHack ve 1 kişi daha S

mil

5 Eki 2020
  • 29 Nis 2021
leman dedi ki: - Intel (ve AMD) iGPU'ları yıllardır UMA kullanıyor. Bellek topolojileri, Apple'ınkiyle pratik olarak aynıdır (paylaşılan bir son seviye önbellek aracılığıyla CPU ve GPU erişim belleği). Apple'ın yalnızca çok daha yetenekli bellek denetleyicileri (ve ayrıca masaüstü düzeyinde GPU önbellek boyutları) vardır - burada performans ve verimlilik için optimize ederler ve diğer satıcılar gibi maliyet gerektirmezler.
Hiçbir intel ve amd iGPU'ları UMA'yı hiç kullanmaz.

Intel ve AMD iGPU bölümlerinin bir kısmı sistemin RAM'i olarak kullanılmak üzere sistemin geri kalanına erişemez bu RAM kısmına hiç bir şekilde sadece GPU erişebilir.

UMA ile durum böyle değil, UMA ile tüm sistem her zaman tüm RAM'e erişebilir.

Ve 'UMA kullanmayan' oyunlarla ilgili olarak, oyunlarla ve grafik sürücüleriyle ilgili her şeyle ilgisi yoktur. Oyun sadece API aracılığıyla grafik sürücüsüne çağrı yapar, sürücü daha sonra bellek işlemeyi sıralar.
Tepkiler:cal6n ve dmccloud NS

leman

14 Ekim 2008
  • 29 Nis 2021
Spindel şunları söyledi: Hiçbir intel ve amd iGPU'lar UMA'yı hiç kullanmaz.

Intel ve AMD iGPU bölümlerinin bir kısmı sistemin RAM'i olarak kullanılmak üzere sistemin geri kalanına erişemez bu RAM kısmına hiç bir şekilde sadece GPU erişebilir.

Bu sadece yanlış. Intel belgeleri, en azından Sandy Bridge ile başlayan iGPU'larının (doğru hatırlıyorsam) UMA kullandığını ve Apple Metal'in sıfır kopya işleviyle aynı şekilde çalışan sıfır kopya CPU/GPU veri uzantılarını OpenCL'ye maruz bıraktıklarını açıkça belirtir.

Spindel şunları söyledi: 'UMA'yı kullanmayan' oyunlarla ilgili olarak, bunun oyunlarla ve grafik sürücüleriyle ilgisi yok. Oyun sadece API aracılığıyla grafik sürücüsüne çağrı yapar, sürücü daha sonra bellek işlemeyi sıralar.

Bu yine yanlıştır (en azından konuyla ilgili olarak). Grafik API'leri, verileri manuel olarak kopyalamanızı gerektirir (önceden bir veri işaretçisi sağlayarak veya kopyalama/eşleme API'lerini kullanarak). Yani UMA veya UMA değil, MTLBuffer.contents() veya MTLTexture.replace() gibi bir şey kullanıyorsanız, uygulamanız tarafından ayrılan depolama alanından sürücü tarafından ayrılan depolamaya her zaman bir bellek kopyası yapıyorsunuz. Sıfır kopya davranışı istiyorsanız MTLDevice.makeBuffer(bytesNoCopy: ) kullanmanız gerekir.

Özetlemek gerekirse: sisteminizde UMA olması, tüm veri kopyalarının sihirli bir şekilde ortadan kaldırılabileceği anlamına gelmez.
Tepkiler:Krevnik

dmccloud

7 Eylül 2009
Ankraj, AK
  • 29 Nis 2021
Leman dedi ki: Bu kesinlikle yanlış. Intel belgeleri, en azından Sandy Bridge ile başlayan iGPU'larının (doğru hatırlıyorsam) UMA kullandığını ve Apple Metal'in sıfır kopya işleviyle aynı şekilde çalışan sıfır kopya CPU/GPU veri uzantılarını OpenCL'ye maruz bıraktıklarını açıkça belirtir.



Bu yine yanlıştır (en azından konuyla ilgili olarak). Grafik API'leri, verileri manuel olarak kopyalamanızı gerektirir (önceden bir veri işaretçisi sağlayarak veya kopyalama/eşleme API'lerini kullanarak). Yani UMA veya UMA değil, MTLBuffer.contents() veya MTLTexture.replace() gibi bir şey kullanıyorsanız, uygulamanız tarafından ayrılan depolama alanından sürücü tarafından ayrılan depolamaya her zaman bir bellek kopyası yapıyorsunuz. Sıfır kopya davranışı istiyorsanız MTLDevice.makeBuffer(bytesNoCopy: ) kullanmanız gerekir.

Özetlemek gerekirse: sisteminizde UMA olması, tüm veri kopyalarının sihirli bir şekilde ortadan kaldırılabileceği anlamına gelmez.

Intel'in ne dediğine bakılmaksızın, hala gerçek UMA değil. Best Buy'a gidin ve yalnızca entegre grafiklere sahip dizüstü bilgisayarlardan herhangi birine bakın. '8GB RAM (6.03 GB kullanılabilir) gibi bir şey söyleyeceklerini göreceksiniz. Bunun nedeni, fiziksel RAM'i hala sanal CPU/iGPU bölümlerine ayırmalarıdır. Intel, pazarlamalarında ve bazen teknik malzemelerinde yanlış yönlendirmeyi, hatta yalan söylemeyi sever. 11. nesil CPU'larını duyurduklarında, yalnızca iGPU'larını (aslında sadece 9. ve 10. nesil parçalarda kullanılan 'UMA' grafiklerinin yeniden markalaşmasıydı) AMD'ler Vega 4 ve nVidia MX250 (daha önce değiştirilmişti) ile karşılaştırdılar. MX350) grafiklerinin üstün olduğunu kanıtlamak için. Bir grubumuz iş yerinde bu sunumu izledik ve 47 dakikalık önceden kaydedilmiş bir sunuma sıkıştırdıkları yanıltıcı ifadeler için Intel'i parçalara ayırdık.
Tepkiler:yıldız çiçeği x

xWhiplash

katkıda bulunan
21 Ekim 2009
  • 29 Nis 2021
M1, Steam donanım anketinde hala 2. sırada olan GTX 1050 Ti'yi geçiyor veya onunla rekabet ediyor.

Steam Donanım ve Yazılım Anketi
Büyük çocuk Mac Pro'ya ulaştığında, GPU'nun oldukça rekabetçi olmasını umuyorum. Bir RTX 3060 bile almaya çalışmak imkansız. x

xWhiplash

katkıda bulunan
21 Ekim 2009
  • 29 Nis 2021
Leman dedi ki: Bu kesinlikle yanlış. Intel belgeleri, en azından Sandy Bridge ile başlayan iGPU'larının (doğru hatırlıyorsam) UMA kullandığını ve Apple Metal'in sıfır kopya işleviyle aynı şekilde çalışan sıfır kopya CPU/GPU veri uzantılarını OpenCL'ye maruz bıraktıklarını açıkça belirtir.
Belgeyi okursanız, bunun bir programlama değişikliği olması gerekir. Bu değişiklik kaç yazılımda var?

yazılım.intel.com

OpenCL™ 1.2'den En İyi Şekilde Yararlanma: Performans Nasıl Arttırılır...

İndirmeler İndirme OpenCL™ 1.2'den En İyi Şekilde Yararlanma: Intel® Proce'de Arabellek Kopyalarını En Aza İndirerek Performans Nasıl Artırılır yazılım.intel.com
Sıfır kopya arabelleği oluşturmak için aşağıdakilerden birini yapın:

CL_MEM_ALLOC_HOST_PTR kullanın ve çalışma zamanının sizin için sıfır kopya ayırma arabelleği oluşturmasını sağlayın

Verilere zaten sahipseniz ve verileri bir OpenCL arabellek nesnesine yüklemek istiyorsanız, o zaman CL_MEM_USE_HOST_PTR'yi 4096 baytlık bir sınırda (bir sayfaya ve önbellek satırı sınırına hizalanmış) ayrılmış bir arabellek ve 64'ün katı olan bir toplam boyutla kullanın. bayt (önbellek satırı boyutu).

Ana bilgisayardan bu arabelleklere veri okurken veya yazarken, clEnqueueMapBuffer() kullanın, arabellek üzerinde işlem yapın ve ardından clEnqueueUnmapMemObject() öğesini çağırın. Bu belge, Intel® platformlarında en iyi bilinen uygulamaları göstermek için kod örnekleri içerir.
J

JouniS

22 Kas 2020
  • 29 Nis 2021
M1'in önümüzdeki bir veya iki yıl için iyi kalmasını bekliyorum. Bileşen sıkıntısı sona erdiğinde, birçok insan mevcut nesil konsollara ve GPU'lara sahip olacak ve daha hızlı donanımdan yararlanmak için yeni oyunlar tasarlanacak. 16 çekirdekli bir M1 GPU daha sonra düşük seviye ve 32 çekirdek orta seviye olacaktır.

Yeni bir konsol neslinin piyasaya sürülmesinden bir süre sonra donanım gereksinimlerinde her zaman kasıtlı bir sıçrama olur. Eski konsollar yeni oyunlar için hala yeterli olsaydı, yeni modeller satın almak için çok az neden olurdu. Öte yandan, konsol nesilleri arasındaki süre ~7 yıl olduğu için, atlamadan sonra iyi olan herhangi bir donanım uzun yıllar iyi kalacaktır. NS

leman

14 Ekim 2008
  • 30 Nis 2021
dmccloud şunları söyledi: Intel'in ne dediğine bakılmaksızın, hala gerçek UMA değil. Best Buy'a gidin ve yalnızca entegre grafiklere sahip dizüstü bilgisayarlardan herhangi birine bakın. '8GB RAM (6.03 GB kullanılabilir) gibi bir şey söyleyeceklerini göreceksiniz. Bunun nedeni, fiziksel RAM'i hala sanal CPU/iGPU bölümlerine ayırmalarıdır.

Sürücü modeli bu şekilde çalışır. Belli ki bir miktar bellek GPU amaçları için ayrılmıştır. M1 ile o kadar da farklı değil: Mevcut GPU belleği miktarını sorgulayabilirsiniz ve aldığınız sayı toplam sistem RAM'i değildir. Bu sadece bir raporlama/'muhasebe' sorusudur ve UMA'nın kendisiyle pek ilgisi yoktur. Birleşik bellek, GPU ve CPU'nun fiziksel (ve mantıksal olarak) aynı belleğe önbellek uyumlu bir şekilde erişebildiği anlamına gelir ve herhangi bir makul Intel iGPU modeli bu yeteneğe sahiptir.

dmccloud dedi ki: Intel pazarlamalarında yanlış yönlendirmeyi ve hatta yalan söylemeyi sever...

Oh, kesinlikle hemfikir olabiliriz. Intel pazarlaması, nasıl deyim yerindeyse... 'iyimser' olmayı sever. Ancak teknik açıdan Intel GPU'lar oldukça ilginç ve karmaşık olmayan cihazlar değil. Çok esnek bilgi işlem yeteneklerine sahiptirler.

xWhiplash dedi ki: Belgeyi okursanız, bunun bir programlama değişikliği olması gerekir. Bu değişiklik kaç yazılımda var?

Apple Silicon için tamamen aynı şey. Sıfır kopyalama davranışı istiyorsanız, belirli bir API kullanmanız ve belleğinizi belirli bir şekilde ayırdığınızdan emin olmanız gerekir.
Tepkiler:thekev

LeeW

5 Şub 2017
Tepenin üzerinde ve uzakta
  • 30 Nis 2021
Lowhangers şunları söyledi: Mac mini'mde oynadığım tek oyun World of Warcraft. Ve oldukça iyi çalışıyor, M1 Mac mini'mde saniyede 60 kare hızında saygın bir çözünürlük ekliyor. Mini için ödediğim fiyat için hiçbir şikayetim yok.

Apple, M1 ile harika bir iş çıkardı ve yıllar geçtikçe geliştirdikçe ne kadar daha iyi olacağını sadece hayal edebiliyorum. Web'in bu işlemcilerin dört veya beş neslinde nerede olacağını hayal edemiyorum.

Ben de öyleyim, WoW'u yalnızca gelişigüzel oynuyorum ve zaman buldukça Perakende/Klasik'e girip çıkıyorum. 2006'dan beri oynanıyor ama artık baskın yapmayın, sadece biraz araştırma yapmanın ve dünyayı dolaşmanın tadını çıkarın.

Önceki 2014 ve 2018 cihazlarıma kıyasla M1 Mac Mini'de harika çalışıyor. 3440x1440 @ maksimum ayarlarda 45-60 FPS, gölgelerde hafif bir ayarlamayla, zar zor ısınır ve gayet iyi idare eder. x

xWhiplash

katkıda bulunan
21 Ekim 2009
  • 30 Nis 2021
leman, 'Apple Silicon için tamamen aynı şey. Sıfır kopyalama davranışı istiyorsanız, belirli bir API kullanmanız ve belleğinizi belirli bir şekilde ayırdığınızdan emin olmanız gerekir.
Bu böyle değil. Apple Silicon, 16 GB RAM'in herhangi birine ve tümüne erişebilir. Ayrı bir VRAM yok, ancak yine de Intel iGPU için var.
Tepkiler:dmccloud

Hessel89

27 Eyl 2017
Hollanda
  • 30 Nis 2021
Sadece geekbench puanlarına dayanarak AMD RX 560'a benzer bir performans bekliyordum.
Bu, çoğu oyunda tam olarak böyle görünüyor, tek farkla, çizim mesafesini M1'de mutlak maksimuma ayarlayabiliyorum. (16GB birleşik ram sayesinde)

Metal 2'nin etkin olduğu oyunlarla tamamen farklı bir top oyunu!
Her şey Ultra / Yüksek olarak ayarlanmış halde X-plane 11'i 2560 x 1440'ta oynayabilirim ve hala 30 ila 40 fps arasında sağlam bir performans alıyorum.
Bu aslında bir arkadaşımın RTX 2060'ıyla elde ettiğinden daha iyi. Tüm bunlar olurken tamamen sessiz kalıyor!

Bu kadar güçlü olmamalı ama bir şekilde..
Tepkiler:homie NS

leman

14 Ekim 2008
  • 30 Nis 2021
xWhiplash dedi ki: Bu böyle çalışmaz. Apple Silicon, 16 GB RAM'in herhangi birine ve tümüne erişebilir. Ayrı bir VRAM yok, ancak yine de Intel iGPU için var.

Intel iGPU'larda herhangi bir bellek adresleme sınırlamasının farkında değilim. Hem Intel hem de Apple aygıtları, sistem belleğine aynı son düzey önbellek ve aynı bellek denetleyicisi aracılığıyla erişir. Tüm Intel GPU belleği, CPU ile ve bunun tersi yoluyla görünür ve önbellekle uyumludur. Hem Intel hem de Apple GPU cihazları, katılım API'lerini kullanarak sistem bellek ayırmalarına (sıfır kopya) doğrudan erişebilir.

Görebileceğiniz tüm 'VRAM boyutu' raporları vb. sürücü veya işletim sistemine özgü sınırlamalardır. Bildiğim kadarıyla Intel GPU sürücüsü bu listeleri dinamik olarak ayarlayabiliyor, Apple Silicon baştan çok yüksek doğal limitler kullanıyor. Her ikisi de GPU amaçları için belirli miktarda RAM ayırır. S

mil

5 Eki 2020
  • 30 Nis 2021
leman dedi ki: Intel iGPU'larda herhangi bir bellek adresleme sınırlamasının farkında değilim. Hem Intel hem de Apple aygıtları, sistem belleğine aynı son düzey önbellek ve aynı bellek denetleyicisi aracılığıyla erişir. Tüm Intel GPU belleği, CPU ile ve bunun tersi yoluyla görünür ve önbellekle uyumludur. Hem Intel hem de Apple GPU cihazları, katılım API'lerini kullanarak sistem bellek ayırmalarına (sıfır kopya) doğrudan erişebilir.

Görebileceğiniz tüm 'VRAM boyutu' raporları vb. sürücü veya işletim sistemine özgü sınırlamalardır. Bildiğim kadarıyla Intel GPU sürücüsü bu listeleri dinamik olarak ayarlayabiliyor, Apple Silicon baştan çok yüksek doğal limitler kullanıyor. Her ikisi de GPU amaçları için belirli miktarda RAM ayırır.
Evet, vram boyutunun intel igpus ile dinamik olarak ayarlanabildiği doğrudur.
Ancak konuyu anlamıyorsunuz, tahsis edilen vram'a sistemin geri kalanı tarafından hala erişilemiyor. Bu nedenle, konumlandırmaya ihtiyaç duyan (CPU tarafından yapılan) bir grafik varlığınız varsa, bu varlığın hem vram hem de sistem ramında bulunması gerekir. İşlemcinin hesaplamalarını onun üzerinde yapması gerektiğinden ve vram'a erişemediğinden sistem ram'inde bir kopyaya ihtiyacı var (tüm bunlar büyük ölçüde basitleştirildi)

UMA ile hem işlemci hem de gpu aynı bellek adresine erişebilir. NS

leman

14 Ekim 2008
  • 30 Nis 2021
Spindel dedi ki: Ama asıl meseleyi anlamıyorsunuz, tahsis edilen vram'a sistemin geri kalanı tarafından hala erişilemiyor. Bu nedenle, konumlandırmaya ihtiyaç duyan (CPU tarafından yapılan) bir grafik varlığınız varsa, bu varlığın hem vram hem de sistem ramında bulunması gerekir. İşlemcinin hesaplamalarını onun üzerinde yapması gerektiğinden ve vram'a erişemediğinden sistem ram'inde bir kopyaya ihtiyacı var (tüm bunlar büyük ölçüde basitleştirildi)

Bu sadece yanlış. Modern Intel veya AMD iGPU'larda 'VRAM' yoktur. CPU ve GPU aynı fiziksel belleğe erişebilir. Daha önce yazdığım gibi, CPU ve GPU, önbellekleri ve bellek denetleyicilerini paylaşır.

Bana inanmıyorsanız, bu cihazlar için mevcut Vulkan bellek havuzlarına bakın (vkGetPhysicalDeviceMemoryProperties aracılığıyla). Yalnızca sundukları bellek havuzlarına hem cihaz (GPU) hem de ana bilgisayar (CPU) tarafından erişilebilir.

Spindel şunları söyledi: UMA ile hem işlemci hem de gpu aynı bellek adresine erişebilir.

Tam. Bu yüzden Intel'in UMA olmadığını iddia etmenize şaşırdım. Intel iGPU'lar tam olarak böyle çalışır.

dmccloud

7 Eylül 2009
Ankraj, AK
  • 30 Nis 2021
Leman dedi ki: Bu kesinlikle yanlış. Modern Intel veya AMD iGPU'larda 'VRAM' yoktur. CPU ve GPU aynı fiziksel belleğe erişebilir. Daha önce yazdığım gibi, CPU ve GPU, önbellekleri ve bellek denetleyicilerini paylaşır.

Bana inanmıyorsanız, bu cihazlar için mevcut Vulkan bellek havuzlarına bakın (vkGetPhysicalDeviceMemoryProperties aracılığıyla). Yalnızca sundukları bellek havuzlarına hem cihaz (GPU) hem de ana bilgisayar (CPU) tarafından erişilebilir.



Tam. Bu yüzden Intel'in UMA olmadığını iddia etmenize şaşırdım. Intel iGPU'lar tam olarak böyle çalışır.

Intel iGPU'larda, RAM iki sanal bölüme ayrılır: biri sistem RAM'i olarak kullanılır, diğeri iGPU'ya atanır. Bu nedenle, 8 GB RAM ile gelen bir HP veya Dell dizüstü bilgisayarın geri kalanı yalnızca iGPU'ya tahsis edildiğinden, programlar için yalnızca 6 ila 7,5 GB RAM kullanılabilir. Ayrıca, sistem bölümüne yazılan verilere yalnızca CPU tarafından erişilebilir ve GPU bölümüne yazılan verilere yalnızca iGPU tarafından erişilebilir. Intel'in 'UMA' terimini kullanmasının en iyi ihtimalle yanıltıcı olmasının nedeni budur. M1 ile Apple, hem CPU hem de GPU çekirdeklerine tüm bellek adres alanına tam erişim sağladı. Hem GPU hem de CPU'nun kullanıldığı uygulamalar için (World of Warcraft dahil birçok MMO bu kriterlere uygundur), verilerin Windows tarafında her iki bölüme de kopyalanması, ardından herhangi bir çıktı yapılmadan önce değişikliklerin uzlaştırılması gerekir. M1 ile hem CPU hem de GPU çekirdekleri verilere erişebilir ve bunları değiştirebilir eşzamanlı . Bu, genel performansı hızlandırır çünkü mutabakat adımına artık ihtiyaç yoktur. NS

leman

14 Ekim 2008
  • 30 Nis 2021
dmccloud şunları söyledi: Intel iGPU'larda RAM iki sanal bölüme ayrılır: biri sistem RAM'i olarak kullanılır, diğeri iGPU'ya atanır. Bu nedenle, 8 GB RAM ile gelen bir HP veya Dell dizüstü bilgisayarın geri kalanı yalnızca iGPU'ya tahsis edildiğinden, programlar için yalnızca 6 ila 7,5 GB RAM kullanılabilir. Ayrıca, sistem bölümüne yazılan verilere yalnızca CPU tarafından erişilebilir ve GPU bölümüne yazılan verilere yalnızca iGPU tarafından erişilebilir. Intel'in 'UMA' terimini kullanmasının en iyi ihtimalle yanıltıcı olmasının nedeni budur.

Bu bilgilere nereden sahipsin? Bu, bildiğim tüm teknik belgelere ve API davranışına aykırıdır. 'Sanal bölüm' ile ilgili olarak - bu yalnızca GPU kullanımı için ayrılmış RAM'dir. Apple sistemleri de bunu yapıyor. x

xWhiplash

katkıda bulunan
21 Ekim 2009
  • 1 Mayıs 2021
Leman dedi ki: Bu bilgilere nereden sahipsin? Bu, bildiğim tüm teknik belgelere ve API davranışına aykırıdır. 'Sanal bölüm' ile ilgili olarak - bu yalnızca GPU kullanımı için ayrılmış RAM'dir. Apple sistemleri de bunu yapıyor.
Yine, bu bir programlama değişikliği. 2005'ten kalma eski bir oyunu modern bir Intel iGPU'da çalıştırırken yine de iGPU belleğine bir kopya gerçekleştirmesi gerekecek. Aslında, sıfır bellek arabelleği istediğinizi kodda belirtmeniz gerekir.

Apple'ın özel bir iGPU VRAM'i olmadığı için bu sorun oluşmaz. Bu ayrılık yok.

Lütfen Apple sistemlerinin SADECE GPU için ayrılmış RAM bölümlerini nerede gösterdiğini gösterin. Burada bir Mac mini M1'im var ve nerede yalnızca 1 veya 2 GB VRAM kullanılabilir olduğunu belirttiğini bulamıyorum. NS

leman

14 Ekim 2008
  • 1 Mayıs 2021
xWhiplash dedi ki: Yine, bu bir programlama değişikliği. 2005'ten kalma eski bir oyunu modern bir Intel iGPU'da çalıştırırken yine de iGPU belleğine bir kopya gerçekleştirmesi gerekecek. Aslında, sıfır bellek arabelleği istediğinizi kodda belirtmeniz gerekir.

Ve yine, Metal veya başka bir GPU API'sini kullandığınızda aynı şey olur. Ne demeye çalıştığınız konusunda gerçekten kafam karıştı.

Lütfen yanlış anlamayın ama bu noktada sormak zorundayım: GPU programlama deneyiminiz nedir? Bana grafik API'lere çok aşinaymışsınız gibi gelmiyor.

xWhiplash şunları söyledi: Apple'ın özel bir iGPU VRAM'i olmadığı için bu sorun oluşmuyor. Bu ayrılık yok.

Tabii ki öyle. Lütfen Metal belgelerine bakın. Tüm temel API, verileri sürücü tarafından tahsis edilen bellek arabelleklerine kopyaladığınızı varsayar. Sıfır kopya işlevselliği elde etmek istiyorsanız, özel API'ler kullanmanız gerekir (dediğiniz gibi bu bir programlama değişikliğidir). Sanırım beşinci kez bahsediyorum. Biraz sinir bozucu oluyor.

xWhiplash şunları söyledi: Lütfen Apple sistemlerinin SADECE GPU için ayrılmış RAM bölümlerini nerede gösterdiğini gösterin. Burada bir Mac mini M1'im var ve nerede yalnızca 1 veya 2 GB VRAM kullanılabilir olduğunu belirttiğini bulamıyorum.

Mevcut VRAM, sürücünün/işletim sisteminin size verdiği bazı bilgilerdir. Intel iGPU'da VRAM yok. GPU sürücüsü tarafından yönetilen sistem belleğine sahiptirler. Tıpkı Apple gibi. Gerisi sadece sürücü davranışıdır. Windows'taki bir Intel sürücüsü, maksimum GPU RAM kullanımınızı 4 GB kadar sınırlayabilir (dürüst olmak gerekirse, bilmiyorum), Apple daha esnektir. x

xWhiplash

katkıda bulunan
21 Ekim 2009
  • 1 Mayıs 2021
Leman dedi ki: Lütfen yanlış anlama ama bu noktada sormak zorundayım: GPU programlama deneyiminiz nedir? Bana grafik API'lere çok aşinaymışsınız gibi gelmiyor.
Direct X, XNA, MonoGame, Unity, Unreal ve daha fazlasında video oyunları oluşturuyor, piksel ve köşe gölgelendiricilerle çalışıyorum. Tecrübelerim var, bu yüzden Intel'in bu sorunu olmadığını söyleyen birkaç kişi bunun bir programlama değişikliği olduğunu BİLMİYOR - ve birçok kişi bunun bir programlama değişikliği olduğunu bile anlamadı. Apple'ın M1'inin hala bu sorundan muzdarip olduğunu iddia ettiğinize dair bir örnek bulamadım ve günlerce aradım. Intel için yaptığınız gibi sıfır bellek arabelleği için gereken bayrakları bulamıyorum. Bu yüzden lütfen 5 kere söylemek yerine beni doğru yöne yönlendirin. Kanıtınız varsa, kesinlikle okumak isterim. M1'in hala kendi özel GPU bellek tahsisine sahip olduğuna dair HİÇBİR kanıt GÖRMEDİM. Okuduğum HER ŞEY ve gördüğüm TÜM belgeler, M1 GPU'nun 8GB veya 16GB Birleşik Belleğin HERHANGİ BİRİNE ve TÜMÜne erişebileceğini belirtiyor.

Bunun gibi düzinelerce geliştirici tartışması ve geliştirici görüşü gördüm:

Apple M1 Çipi Neden Bu Kadar Hızlı - Bir Geliştirici Açıklıyor | Üretim Uzmanı

Apple M1 Chip'in neden bu kadar hızlı olduğunu merak etmiş olabilirsiniz? Bu makalede, bu giriş seviyesi Mac'leri bile bu kadar hızlı yapan şeyin ne olduğunu bir geliştiriciden öğreneceğiz. www.pro-tools-expert.com
M1 ile bu aynı zamanda SoC'nin bir parçasıdır. M1'deki bellek, CPU, GPU ve diğer çekirdeklerin birbirleri arasında bilgi alışverişi yapmasına izin veren 'birleşik bellek mimarisi' (UMA) olarak tanımlanan şeydir ve birleşik bellek ile CPU ve GPU, belleğe aynı anda erişebilir. bir alan ile diğeri arasında veri kopyalamaktan daha iyidir.

Metal belgelere bakmaya çalıştım ve Intel iGPU'da olduğu gibi bir programlama değişikliğinin nerede gerekli olduğunu göremiyorum. Yine, belgenin belirli bir bölümüne sahipseniz, lütfen beni ona yönlendirin. Ancak geliştiricilerin tüm bu hesapları ve şimdiye kadar gördüğüm hiçbir şey beni Intel IGPU'nun sahip olduğu aynı soruna işaret etmiyor.

Intel iGPU ile ilgili olarak VRAM dediğimizde aslında 'sürücü tarafından GPU'ya ayrılan bölümlenmiş bellek' demek istediğimizi biliyorsunuz. VRAM kısa ve kolaydır ve yine de konuşmayı başarır. Son düzenleme: 1 Mayıs 2021 NS

leman

14 Ekim 2008
  • 1 Mayıs 2021
xWhiplash şunları söyledi: Video oyunları yaratıyorum, Direct X, XNA, MonoGame, Unity, Unreal ve daha fazlasında piksel ve köşe gölgelendiricilerle çalışıyorum.

Ah, bu harika, bu yüzden bunu teknik düzeyde tartışabiliriz.

Düzenleme: üzgünüm, forum URL'lere otomatik olarak emoji ekliyor :/

xWhiplash şöyle dedi: Tecrübelerim var, bu yüzden Intel'in bu sorunu olmadığını söyleyen birçok kişi bunun bir programlama değişikliği olduğunu BİLMİYOR - ve birçok kişi bunun bir programlama değişikliği olduğunun farkında bile değildi. Apple'ın M1'inin hala bu sorundan muzdarip olduğunu iddia ettiğinize dair bir örnek bulamadım ve günlerce aradım. Intel için yaptığınız gibi sıfır bellek arabelleği için gereken bayrakları bulamıyorum.

Sıfır kopya davranışına sahip olmak istiyorsanız, yani, açıkça kullanmanız gereken GPU arabelleği olarak kendi bellek ayırmanızı kullanın. makeBuffer(bytesNoCopy:uzunluk Tepkiler:Krevnik ve xWhiplashSonraki

Sayfaya git

GitmekSonraki Son