Какое оптимальное разделение основной и графической памяти?

Я читал, что можно выделить 128MB, 64MB или 32MB для видеопамяти Raspberry Pi.

Учитывая, что мой основной вариант использования для этой машины является образовательным: я буду запускать легкие сценарии на питоне и просматривать веб-страницы. Возможно ли, что он понесет какие-либо потери функций, переключившись на 32 МБ памяти?

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

68 голосов | спросил Salim Fadhley 25 J0000006Europe/Moscow 2012, 17:16:58

2 ответа


55

Я ожидаю, что вы не почувствуете заметной разницы, если не выполняете графически тяжелые задачи, такие как воспроизведение видео.

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

Лучшее, что вы можете сделать, это эксперимент.

Если вы хотите изменить разделение, тогда есть два разных метода, в зависимости от используемой прошивки. Если возможно, убедитесь, что у вас установлена ​​последняя прошивка . Если вам не удастся обновить по какой-либо причине, я включил оба варианта ниже:

Новая прошивка (после октября 2012 г.)

  • Измените /boot/config.txt и добавьте или отредактируйте следующую строку:

    gpu_mem=16
    
  • Значение может быть 16, 64, 128 или 256) и представляет объем оперативной памяти, доступной для графический процессор.

Старая прошивка (до октября 2012 года)

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

Существует три модели памяти, и здесь приведены рекомендации, взятые из доска для обсуждения малины Pi :

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

Â И еще одно:

  

240 МБ ОЗУ и 16 ВРАМ для почти нулевой графической мощности. Достаточно   GPU, чтобы отображать экран, но не намного больше. Используйте это, когда вы   требуется еще одно повышение производительности без GUI.

ответил Jivings 25 J0000006Europe/Moscow 2012, 17:33:39
48

ОЗУ очень важна для производительности Linux по двум причинам:

  • Тайники. Linux работает без свободной памяти в течение большей части времени. Если какая-либо память не используется приложениями, она используется для кешей, которые ускоряют работу. Таким образом, память не пропадает. Если приложениям требуется больше памяти, кеши освобождаются, поэтому кеши никогда не будут препятствовать запуску приложений, требующих большего количества ОЗУ. Но, конечно, чем больше вы можете кэшировать, тем лучше.

  • Многие приложения (особенно настольные) нуждаются в большой памяти для запуска в настоящее время. Это неудивительно: большинство настольных систем (или даже смартфонов) в наши дни имеют гораздо больше памяти, чем Rapsberry Pi. Например, веб-браузеры даже легкие) будут использовать десятки МБ памяти, как только вы откроете какой-то более крупный веб-сайт.

  • Для каждого приложения требуется определенный объем памяти. Таким образом, чем больше приложений вы запускаете, тем больше памяти они используют.

Таким образом, вы всегда хотите иметь как можно больше ARM-памяти. Но у GPU есть свои потребности в зависимости от того, какие функции вы хотите от него.

версия 256 МБ

Для старшего RaspberryPi с 256 МБ ОЗУ доступно 4 раскола:

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

  • 224/32 . Этот вариант устарел в пользу раскола 240/16. Он имеет 3D и аппаратное декодирование видео, но поскольку этого недостаточно памяти, чтобы фактически использовать его, мало смысла использовать его. Если не у вас есть некоторые проблемы с расколом 240/16 или хотите использовать 32bpp фреймбуфер с самым высоким разрешением. Возможно, он будет удален в будущем.

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

  • 128/128 . Наибольшее количество GPU может получить. Используйте его, когда вам нужно много памяти для 3D-графической карты и аппаратного ускоренного воспроизведения видео в высокое разрешение. Этот раскол необходим для правильной работы RaspBMC или без проблем воспроизводить полноценный видеоконтент с omxplayer.

версия 512 МБ

Новые версии RaspberryPi имеют 512 МБ ОЗУ. У вас есть 4 дополнительных раскола, разработанных для этой версии:

  • 496/16 и 448/64 - как 240/16 и 192/64 для 256 Мбайт соответственно, но с Для ARM доступно более 256 МБ. Поскольку GPU имеет только 16 МБ /64 МБ или ОЗУ, все ограничения от 240/16 /192/64 по-прежнему применяются.
  • 384/128 . Подобно разделу 128/128 для 256 МБ - вы должны получить все функции графических чипов, но с разумным объемом памяти ARM. Это, вероятно, будет самым универсальным расколом прямо сейчас.
  • 256/256 . Некоторая бонусная видеокарта, если она вам действительно нужна, например, для больших текстур и подобных вещей. Хотя 256 МБ памяти ARM больше, чем вы могли бы иметь в более раннем RaspberryPis, я не думаю, что этот будет использоваться во многих случаях.

Динамические расщепления

Новые версии пакета прошивки удаляют большинство файлов start_*.elf, оставляя только start.elf и start_cd.elf (также fixup * .elf, где добавлено). С этого момента вам не нужно вручную выбирать правильный fixup*.elf. Вместо этого вы должны использовать опции start_*.file в файле gpu_mem*, чтобы выбрать, сколько памяти переходит на графический процессор. Оставшаяся память будет выделена для ARM. Для этих опций должно быть возможно использовать произвольное число в следующем диапазоне:

config.txt

Пока нет значений жесткого кодирования прямо сейчас, большая часть информации для остальной части этого ответа должна оставаться действительной, когда вы пытаетесь определить, сколько памяти должно быть выделено для GPU.

**512MB of RAM**: 16M-448M **256MB of RAM**: 16M-192M и start_cd.elf - это cutdown версии соответствующих файлов, которые используются только при fixup_cd.elf.

Использование одной SD-карты на версии с 256 и 512 МБ

Если вы используете одно изображение SD-карты для разных версий RaspberryPi, вы можете использовать опции gpu_mem=16 и gpu_mem_256. Первый из них будет использоваться только в версии 256 МБ, а второй - только на 512 МБ версии платы.

ответил Krzysztof Adamski 15 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 15 Sep 2012 16:11:59 +0400 2012, 16:11:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132