Ana ve GPU belleğinin optimum bölünmesi nedir?


73

Raspberry Pi'nin video hafızasına 128MB, 64MB veya 32MB tahsis etmenin mümkün olduğunu okudum.

Bu makine için birincil kullanım durumumun eğitici olduğu göz önüne alındığında: Hafif python komut dosyaları ve web tarama kullanıyorum. Benim için sadece 32 MB belleğe geçerek özellik kaybı yaşama ihtimali var mı?

Herhangi bir 3D kullanmak istemeyi veya herhangi bir video oynatmayı beklemiyorum.


2
Değişkenliğinizi ayarladığınızdan emin olun : D
earthmeLon

1
Bekle, bunun 42 oyu var. Bu bir soru değil , cevap!
Şapkalı Adam

Değer aralığının artık bundan daha geniş olduğuna inanıyorum ve @Krysztof Adamski'nin cevabına göre, farklı toplam bellek boyutları için config.txt dosyasında belirli bir bölme belirtmek mümkündür, böylece aynı kart yerleştirildiğinde uygun bölmeler üretebilir. farklı RPI - dağıtımları hazırlarken faydalıdır sanırım ...
SlySven

Yanıtlar:


58

Video oynatmak gibi grafiksel olarak ağır işler yapmıyorsanız fark edilebilir bir fark yaşamamanızı bekliyorum.

Ancak, performans sınırlamaları hangi uygulamaların yürütülmesine ve kullanıcı beklentilerine bağlı olarak değişeceğinden, optimum ayarları ölçmek zordur.

Yapabileceğiniz en iyi şey deneydir.

Bölmeyi değiştirmek istiyorsanız, sahip olduğunuz ürün bilgisine bağlı olarak iki farklı yöntem vardır. Mümkünse , en son ürün bilgisine sahip olduğunuzdan emin olun . Herhangi bir nedenden dolayı güncellemeniz mümkün değilse, o zaman aşağıdaki iki seçeneği de ekledim:

Yeni Firmware (Ekim 2012'den sonra)

  • Düzenleyin /boot/config.txtve eklemek veya aşağıdaki satırı düzenleyin:

    gpu_mem=16
    
  • Bir değer olabilir 16, 64, 128ya da 256ve grafik işlemcinin için kullanılabilir RAM miktarını temsil eder.

Eski Firmware (Ekim 2012'den önce)

Video belleğini değiştirmek için görüntünün bölümündeki start.elfdosyayı değiştirmeniz gerekir /boot/. Olası .elfdosyalar /boot/Pi'nizdeki dizinde bulunmalıdır . Geçiş, start.elfdosyayı diğerlerinden biriyle değiştirerek yaparsınız .

Üç bellek modeli var ve işte Raspberry Pi tartışma panosundan alınan öneriler :

  1. Linux masaüstü dağıtımı için 224MB RAM ve 32MB VRAM veya video oynatmaya gerek duymayan, 3D yapmadan ağır (GUI olmayan) uygulamalar.  
  2. 192 MB RAM ve 64 MB VRAM (varsayılan), video oynatmak veya 3B efektler almak isteyen masaüstü dağıtımı için.  
  3. Kapsamlı multimedya yapan veya 3D render oyunlar oynayan uygulamalar ve oyunlar için 128 MB RAM ve 128 MB VRAM.  

 Ve bir tane daha:

Neredeyse sıfır grafik güç için 240 MB RAM ve 16 VRAM. Ekranı oluşturmak için yeterli GPU belleği var ancak başka bir şey yok. Başka bir GUI dışı performans artışı gerektiğinde bunu kullanın.


Yeni 512 MB Modellerin cevabını güncelledim.
Jivings

Altyazılar bellek gereksinimlerini arttırıyor gibi görünüyor ; altyazılı 1080p video için 64 MB kesinlikle yeterli değildi.
Raphael

51

RAM birkaç nedenden dolayı Linux performansı için çok önemlidir:

  • Önbellekler. Linux çoğu zaman boş hafıza olmadan çalışır. Bazı bellek uygulamalar tarafından kullanılmazsa, işleri hızlandıran önbelleklerde kullanılır. Yani hiçbir hafıza boşa harcanmaz. Uygulamalar daha fazla belleğe ihtiyaç duyarsa, önbellekler serbest bırakılır, böylece önbellekler daha fazla RAM gerektiren uygulamaların çalışmasını engellemez. Ama elbette, önbellekiniz ne kadar fazla olursa, o kadar iyi olur.

  • Pek çok uygulama (özellikle masaüstü uygulamaları) bugün çalıştırmak için çok fazla belleğe ihtiyaç duyuyor. Bu şaşırtıcı değil - bugünlerde çoğu masaüstü sistemi (veya akıllı telefon bile) Rapsberry Pi'den çok daha fazla belleğe sahip. Örneğin web tarayıcıları hafif bile olsa), daha büyük bir web sitesi açar açmaz onlarca MB bellek kullanacaktır.

  • Her uygulamanın bir miktar belleğe ihtiyacı vardır. Yani ne kadar çok uygulama çalıştırırsanız, o kadar çok hafıza kullanırlar.

Yani her zaman mümkün olduğunca ARM hafızasına sahip olmak istersiniz. Ancak GPU, hangi özellikleri kullanmak istediğinize bağlı olarak kendi gereksinimlerine sahiptir.

256 MB versiyon

Eski RaspberryPi için 256 MB RAM ile 4 bölme mevcuttur:

  • 240/16 - En RAM büyüklüğü ARM, mimial GPU belleği ile (240MB) alabilir. 3B grafiklere veya donanım video ivmesi gerekmediğinde genel bilgi işlem için en iyisidir. 1920x1200x16bpp framebuffer çözünürlüğünü işlemek için yeterli belleğe sahip. 32bpp de çalışırken, GPU için çok az miktarda boş hafıza bıraktığı için önerilmez.

  • 224/32 - Bu 240/16 bölünmüş lehine itiraz edildi. Dahili 3D ve donanım video kod çözme özelliğine sahip ancak gerçekte kullanmak için yeterli bellek olmadığından, kullanımda çok az nokta var. 240/16 split ile ilgili bazı problemleriniz yoksa veya 32bpp framebuffer'ı en yüksek çözünürlükte kullanmak istemiyorsanız. Gelecekte silinecek mümkündür.

  • 192/64 - Donanım video hızlandırması veya 3D grafikler kullanmak için en az 64 MB GPU bölmesine ihtiyacınız var. Donanım hızlandırmalı video oynatımı için en yüksek çözünürlükte veya dokular gibi şeyler için çok fazla GPU belleğine ihtiyacınız varsa, yeterli GPU belleği olmayabilir.

  • 128/128 - En fazla RAM GPU alabilir. 3D grafik kartı ve donanım hızlandırmalı video oynatımı için yüksek çözünürlükte çok fazla belleğe ihtiyacınız olduğunda kullanın. Bu bölünme RaspBMC'nin düzgün çalışması veya fullHD video içeriğini çok amaçlı oynatıcı ile sorunsuz şekilde oynatması için gereklidir.

512 MB versiyon

RaspberryPi'nin yeni sürümlerinde 512 MB RAM bulunuyor. Bu sürüm için tasarlanan 4 ek bölmeniz var:

  • 496/16 ve 448/64 - sırasıyla 256 MB için benzer 240/16ve 192/64bölünmüş ancak ARM için 256 MB daha fazla RAM mevcut. GPU'da yalnızca 16 MB / 64 MB veya RAM olduğundan, hala 240/16/ tüm sınırlamalar 192/64geçerlidir.
  • 384/128 - 256 MB için 128/128 bölünmüşe benzer - tüm grafik yonga özelliklerini almalısınız ancak makul miktarda ARM bellek kullanmalısınız. Bu muhtemelen şu anda en evrensel bölünme olacak.
  • 256/256 - Büyük dokular ve benzeri şeylerde olduğu gibi, gerçekten ihtiyacınız varsa, bazı bonus grafik kartı hafızası. 256 MB ARM hafızası, muhtemelen eski RaspberryPis'te sahip olabileceğinizden daha büyük olsa da, bunun bir çok durumda kullanılacağını sanmıyorum.

Dinamik bölmeler

Yazılım paketinin yeni sürümleri çoğu kaldırır start_*.elfsadece bırakarak dosya start.elfve start_cd.elf(aynı zamanda fixup*.elfkatma nerede dosyaları). Bundan sonra, uygun olanı manuel olarak seçmek zorunda değilsiniz start_*.file. Bunun yerine, GPU'ya ne kadar bellek harcanacağını seçmek için dosyadaki gpu_mem*seçenekleri kullanmalısınız config.txt. Kalan hafıza ARM'e tahsis edilecektir. Bu seçenek için rasgele bir sayıyı aşağıdaki aralıkta kullanmak mümkün olmalıdır:

**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M

Şu anda kodlanmış bir bölünmüş değer bulunmamakla birlikte, bu cevabın geri kalan kısmındaki bilgilerin çoğu, GPU'ya ne kadar bellek ayrılacağını belirlemeye çalışırken geçerli olmalıdır.

start_cd.elfve fixup_cd.elfdosyalar , sadece ne zaman kullanılır, ilgili dosyaların açılır sürümleridir gpu_mem=16.

256 ve 512 MB versiyonunda bir SD kart kullanılması

Farklı RaspberryPi sürümleri için bir SD kart görüntüsü kullanıyorsanız gpu_mem_256, gpu_mem_512seçeneklerini ve seçeneklerini kullanabilirsiniz . Birincisi sadece 256MB versiyonunda, ikincisi ise anakartın sadece 512MB versiyonunda kullanılacak.


Evet, hem XBMC hem de LXDE'yi, lokma anahtarından önce manuel yapılandırma dosyası değişikliği yapmadan sıkmaksızın kullanmak istiyorsanız ya da Pi, günlük olarak kullanmak istediğiniz ana bilgisayarınız ise, değer.
avra

6
Faydalı rehberlik Netleştirmek için - kafasız koşmak için en uygun bölünme ne olurdu? Örneğin, rpi kamera modülünün bir GPU gereksinimi var mı?
geotheory

Şimdi bir var gpu_mem_1024, için şaşırtıcı olmayan 1024 MB RPis - şu anda (? Ve bir dışarı geliyor eğer A tahmin) RPI 2 B
SlySven

Elinux.org/RPiconfig#Camera'a göre , kamera modülü aşağıdaki satırları gerektirir /boot/config.txt: start_x=1ve gpu_mem=128veya daha fazlası. Ayrıca, /usr/bin/raspi-configkamerayı etkinleştiren bir seçenek vardır.
mpb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.