Який оптимальний розподіл основної та графічної пам'яті?


73

Я читав, що можна виділити або 128 МБ, 64 МБ або 32 МБ до відеопам'яті Raspberry Pi.

З огляду на те, що мій основний випадок використання цієї машини є навчальним: я буду запускати полегшені сценарії пітона та веб-перегляд. Чи може це зазнати будь-якої втрати функцій, перейшовши на лише 32 МБ пам'яті?

Я не передбачаю, що хочу використовувати будь-який 3D або відтворювати будь-яке відео.


2
Переконайтесь, що ви відрегулювали свою заміщення : D
earthmeLon

1
Зачекайте, це 42 голоси. Це не питання, це відповідь!
Хлопець з капелюхом

Я вважаю, що діапазон значень тепер ширший за це, і відповідно до відповіді @Krysztof Адамського можна вказати певний розділ у config.txt для різних загальних розмірів пам'яті, щоб одна і та ж карта могла виробляти відповідні розбиття при розміщенні в різні RPis - що корисно при підготовці дистрибутивів, я думаю ...
SlySven,

Відповіді:


58

Я б очікував, що ви не відчуєте помітної різниці, якщо не будете виконувати важко задачі, такі як відтворення відео.

Однак визначити оптимальні параметри важко, оскільки обмеження продуктивності будуть змінюватися залежно від того, які програми виконують та очікування користувачів.

Найкраще, що ви можете зробити - експериментувати.

Якщо ви хочете змінити спліт, то існують два різні способи, залежно від прошивки. Якщо можливо, тоді переконайтеся, що у вас є остання прошивка . Якщо ви не можете оновити з будь-якої причини, я включив обидва варіанти нижче:

Нова прошивка (після жовтня 2012 року)

  • Відредагуйте /boot/config.txtта додайте або відредагуйте наступний рядок:

    gpu_mem=16
    
  • Значення може бути 16, 64, 128або 256і являє собою обсяг оперативної пам'яті , доступний для GPU.

Стара прошивка (до жовтня 2012 року)

Щоб змінити відеопам'ять, потрібно замінити start.elfфайл на /boot/розділі зображення. Можливі .elfфайли повинні бути в /boot/каталозі вашого Pi. Ви робите перемикач, замінюючи start.elfфайл одним з інших.

Існує три моделі пам'яті, і ось рекомендації, взяті з дошки обговорень Raspberry Pi :

  1. 224 Мб оперативної пам’яті та 32 МБ VRAM для дистрибутива на робочому столі Linux або важких (не GUI) програм, яким не потрібно відтворювати відео, а також не відтворювати 3D.  
  2. 192 Мб оперативної пам’яті та 64 Мб VRAM (за замовчуванням) для дистрибутивів на робочому столі, які хочуть відтворювати відео чи мають 3D-ефекти.  
  3. 128 Мб оперативної пам’яті та 128 Мб VRAM для додатків та ігор, які роблять обширну мультимедіа чи грають у відтворені 3D ігри.  

 І ще один:

240 Мб оперативної пам’яті та 16 VRAM для майже нульової графічної потужності. Для візуалізації екрану є достатньо пам’яті GPU, але не багато іншого. Використовуйте це, коли потрібно додаткове підвищення продуктивності графічного інтерфейсу.


Я оновив відповідь на нові моделі 512 Мб.
Jivings

Субтитри, здається, збільшують потреби в пам'яті ; для відео у форматі 1080p із субтитрами, 64 МБ суворо було недостатньо.
Рафаель

51

Оперативна пам’ять дуже важлива для продуктивності Linux з кількох причин:

  • Схованки. Більшу частину часу Linux працює без вільної пам'яті. Якщо деяка пам'ять не використовується програмами, вона використовується для кеш-пам'яті, яка прискорює роботу. Тож жодна пам'ять ніколи не витрачається даремно. Якщо додаткам потрібно більше пам’яті, кеші звільняються, тому кеші ніколи не перешкоджатимуть застосуванню додаткової оперативної пам’яті. Але звичайно, чим більше може кешуватися, тим краще.

  • Для багатьох програм (особливо настільних) для запуску потрібна багато пам'яті. Це не дивно - більшість настільних систем (або навіть смартфонів) в наші дні мають набагато більше пам’яті, ніж Rapsberry Pi. Наприклад, веб-браузери навіть у легкій вазі) використовуватимуть десятки МБ пам'яті, як тільки ви відкриєте якийсь більший веб-сайт.

  • Кожна програма потребує деякої кількості пам'яті. Отже, чим більше запущених програм, тим більше пам’яті вони використовують.

Тому ви завжди хочете мати якомога більше пам'яті ARM. Але GPU має власні потреби залежно від того, які функції ви бажаєте від неї.

256MB версія

Для старших RaspberryPi з 256 Мб оперативної пам’яті доступні 4 розбиття:

  • 240/16 - ARM з найбільшим розміром оперативної пам’яті (240 МБ) з міміальною пам’яттю GPU. Це найкраще для загальних обчислень, коли вам не потрібна 3D-графіка або апаратне прискорення відео. У нього достатньо пам'яті для обробки роздільної здатності кадрів 1920x1200x16bpp. Хоча 32bpp також працює, це не рекомендується, оскільки це залишає дуже мало вільної пам'яті для GPU.

  • 224/32 - ця застаріла ідея на користь 240/16 розколу. У нього вбудовано 3D та апаратне відеодекодування, але оскільки недостатньо пам’яті, щоб фактично ним користуватися, його використання мало. Якщо у вас є проблеми з розділенням 240/16 або ви хочете використовувати 32bpp framebuffer з максимальною роздільною здатністю. Цілком можливо, що її буде видалено в майбутньому.

  • 192/64 - Для використання апаратного відео прискорення або 3D-графіки вам потрібно принаймні 64 Мб розділеного графічного процесора. Можливо, не вистачить пам’яті GPU для прискореного відтворення відео з найвищою роздільною здатністю або якщо вам потрібно багато пам’яті GPU для таких речей, як текстури.

  • 128/128 - найбільше оперативної пам’яті оперативної пам’яті. Використовуйте його, коли вам потрібно багато пам’яті для відтворення відео графічної картки та апаратного прискореного відео у високій роздільній здатності. Цей розкол потрібен, щоб RaspBMC працював належним чином або без проблем відтворював відеоконтент FullHD з omxplayer.

Версія 512 Мб

Нові версії RaspberryPi мають 512 Мб оперативної пам’яті. У вас є 4 додаткові розколи для цієї версії:

  • 496/16 та 448/64 - подібні 240/16та 192/64розділені на 256 МБ відповідно, але з 256 Мб більше оперативної пам’яті, доступної для ARM. Оскільки в графічному процесорі є лише 16 МБ / 64 МБ або оперативна пам’ять, усі обмеження з 240/16/ 192/64досі діють.
  • 384/128 - Подібно до 128/128 розбиття на 256 МБ - ви повинні отримати всі функції графічного чіпа, але з розумною кількістю пам'яті ARM. Це, мабуть, найбільш універсальний розкол зараз.
  • 256/256 - деяка бонусна пам'ять графічної картки, якщо вона вам справді потрібна, як-от для великих текстур і подібних речей. Хоча 256 Мб оперативної пам'яті більше, ніж ви могли мати у старшому RaspberryPis, я не думаю, що ця версія буде використовуватися в багатьох випадках.

Динамічні розщеплення

Нові версії пакету прошивки видаляють більшість start_*.elfфайлів, залишаючи лише start.elfта start_cd.elf(також fixup*.elfфайли, де додані). Відтепер не потрібно вручну вибирати належне start_*.file. Натомість слід використовувати gpu_mem*параметри у config.txtфайлі, щоб вибрати, скільки пам’яті йде в GPU. Решта пам'яті буде виділена ARM. Для цих параметрів має бути можливість використовувати довільне число у наступному діапазоні:

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

Хоча зараз немає жорстко кодованих розділених значень, більшість інформації для решти цієї відповіді все одно повинні бути дійсними, коли ви намагаєтеся визначити, скільки пам'яті слід виділити GPU.

start_cd.elfі fixup_cd.elfфайли - це версії для скорочення відповідних файлів, які використовуються лише коли gpu_mem=16.

Використання однієї SD-карти у версії 256 та 512 Мб

Якщо ви використовуєте одне зображення SD-карти для різних версій RaspberryPi, ви можете використовувати gpu_mem_256та gpu_mem_512параметри. Перший буде використовуватися лише у версії 256 МБ, а другий - лише у версії плати 512 Мб.


Так, оновлення варто, якщо ви хочете використовувати як XBMC, так і LXDE без нудної зміни ручного конфігураційного файлу перед перемикачем eatch або якщо Pi - ваш основний комп'ютер, яким ви хочете користуватися щодня.
Авра

6
Корисні вказівки. Для уточнення - який би був оптимальний спліт для бігу без голови? Наприклад, чи є модуль камери rpi вимогою GPU?
геотеорія

Зараз є gpu_mem_1024для, не дивно, 1024 Мб RPis - це на даний момент RPi 2 B (і я думаю, A якщо вийде?)
SlySven

Відповідно до elinux.org/RPiconfig#Camera , модуль камери вимагає наступних рядків у /boot/config.txt: start_x=1та gpu_mem=128більше. Також /usr/bin/raspi-configє опція, яка дозволяє камеру.
mpb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.