Производительность rpi4 для дома и быта -- как измерить?
Модератор: Bizdelnick
Производительность rpi4 для дома и быта -- как измерить?
Пытаюсь тут переехать на линукс. Сразу стал на арм, рпи4.
Вопрос.
Как померять производительность арм, сравнив его с чем то иным? Не по тестам, а по бытовым задачам.
-------
libreoffice. Я не осили nfs, поэтому временно сетку сделал -- подключаю по ssh соседний комп к каталогу на рпи4. Поэтому скорость открытия как бы вопросов не вызывает, плюс минус она одинаковая с 1.1 - 2 ядерным компом на интеле. Но для рпи нормально тормозить при вводе букв. То есть печатаешь, а текст появляется с небольшим запаздыванием. Не всегда, но часто.
Браузер. Опять же, грузится плюс минус одинаково. Но (чувство такое), что джава скрипт обрабатывает гораздо дольше, чем интел комп. Раза в 2. То есть я открываю страницу забитую форматированием явно сделанным на джава скрипте. И открытие долгое. Хтмл страницы открываются быстро, разумеется. зы Но при этом интел на проводе, а рпи на вайфай.
krdc. Так как софт перевёз не весь, мне надо выходить по рдп на линукс. Вот это ппц, там тормоза на ввод до 30 секунд, появляется текст. Всё прорисовывается чуть ли не квадратиками.
Также такое чувство иной раз, что рпи более однозадачный. То есть в фоне запускаешь видео, браузер тормозит в разы сильнее.
Вопрос.
Как померять производительность арм, сравнив его с чем то иным? Не по тестам, а по бытовым задачам.
-------
libreoffice. Я не осили nfs, поэтому временно сетку сделал -- подключаю по ssh соседний комп к каталогу на рпи4. Поэтому скорость открытия как бы вопросов не вызывает, плюс минус она одинаковая с 1.1 - 2 ядерным компом на интеле. Но для рпи нормально тормозить при вводе букв. То есть печатаешь, а текст появляется с небольшим запаздыванием. Не всегда, но часто.
Браузер. Опять же, грузится плюс минус одинаково. Но (чувство такое), что джава скрипт обрабатывает гораздо дольше, чем интел комп. Раза в 2. То есть я открываю страницу забитую форматированием явно сделанным на джава скрипте. И открытие долгое. Хтмл страницы открываются быстро, разумеется. зы Но при этом интел на проводе, а рпи на вайфай.
krdc. Так как софт перевёз не весь, мне надо выходить по рдп на линукс. Вот это ппц, там тормоза на ввод до 30 секунд, появляется текст. Всё прорисовывается чуть ли не квадратиками.
Также такое чувство иной раз, что рпи более однозадачный. То есть в фоне запускаешь видео, браузер тормозит в разы сильнее.
Re: Производительность rpi4 для дома и быта -- как измерить?
Нет такого, хотя использую беспроводную клаву. Может процессор в этот момент чем то загружен? Попробуйте запустить gkrellm и просмотреть загрузку процессора.
Есть такое, например в момент открытия vs code, сначала нужно дождаться когда все модули загрузятся, потом уже работается нормально. Долгая обработка при загрузке кода в js.
WiFi там не очень то быстро работает, ну и на маленькое расстояние, чем дальше тем медленнее. Можно использовать сторонний модуль WiFi, тогда все работает быстрее. Правда мне для этого пришлось пересобирать ядро, чтобы прикрутить сторонний модуль для WiFi. Ну и скорость WiFi зависит от прошивки, на старых жутко тормозило.
Тут подробнее как запускаете, ну и как понять - видео в фоне...
Спасибо сказали:
Re: Производительность rpi4 для дома и быта -- как измерить?
Ясно. У меня при этом проводная usb клава и мышь. Буду смотреть процессы.
Насколько я знаю, есть более менее известных 8 джава скрипт движков. Вот интересно тормозят одинаково все, или файрфокс лучше работает. Также интересно, какой использует vscode. Но по сути темы, джава скрипт работает медленнее, по сравнению с интел. Именно оценка не вооружённым глазом, не тестами.
Например, если я запустил на пол экрана видео в vlc, в этот же момент что то печатаю в calc или в браузере что то делаю -- то работа идёт значительно медленее. Вывод на экран нажатых символов, открытие документа и меню -- всё.
Re: Производительность rpi4 для дома и быта -- как измерить?
А что за разрешение видео?
С видео там дела не айс если большое разрешение. Но если хорошее охлаждение можно разогнать процессор до 2 ггц. Тогда система должна стать значительно отзывчивее.
Но у меня gentoo на rpi4, плюс собрано с оптимизацией, поддержкой векторизации. А на raspberrypi os не уверен что все собрано с поддержкой neon.
Vscode использовал свободную сборку code-oss. А так у меня часто проигрывается видео в ютубе и я делаю ещё что то, в принципе все работает без тормозов. Может в момент компиляции возникать.
С видео там дела не айс если большое разрешение. Но если хорошее охлаждение можно разогнать процессор до 2 ггц. Тогда система должна стать значительно отзывчивее.
Но у меня gentoo на rpi4, плюс собрано с оптимизацией, поддержкой векторизации. А на raspberrypi os не уверен что все собрано с поддержкой neon.
Vscode использовал свободную сборку code-oss. А так у меня часто проигрывается видео в ютубе и я делаю ещё что то, в принципе все работает без тормозов. Может в момент компиляции возникать.
Re: Производительность rpi4 для дома и быта -- как измерить?
Только просматривать src deb. Если там присутствуют флаги компилятора:
Shell
-mcpu=cortex-a7 -mfpu=neon-vfpv4
Re: Производительность rpi4 для дома и быта -- как измерить?
Да, ничего нет. Подсунули мне не производительную сборку
grep "neon" /var/cache/apt/archives/rpi-chromium-mods_20210212_armhf.deb
grep "neon" /var/cache/apt/archives/vlc-bin_3.0.12-0+deb10u1+rpt1_armhf.deb
grep "neon" /var/cache/apt/archives/rpi-chromium-mods_20210212_armhf.deb
grep "neon" /var/cache/apt/archives/vlc-bin_3.0.12-0+deb10u1+rpt1_armhf.deb
Re: Производительность rpi4 для дома и быта -- как измерить?
Прикольно, проверять флаги в бинарном пакете да еще в архиве.
Обычно архив с исходником скачивается командой:
Shell
# apt-get source pkg
Спасибо сказали:
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
Я пришёл сюда по просьбе ТС, хотя мне и кажется, что всё это бесполезно...
1. Надо понимать главную особенность всех RPi - это процессор от Broadcom, который, по-хорошему, не должен использоваться в чём-то акромя медиаплеера. Ведь главной особенностью этих процессоров является GPU VideoCore, а именно тот факт, что памятью здесь заведует не CPU, а именно GPU. И такая схема идеально работает, когда надо иметь дело с потоками видеоданных, ибо позволяет архитектурно обойтись без двойного копирования данных по ОЗУ, но из-за этого производительность иных задач не поддаётся прогнозированию.
2. Рабочая станция, это же не только про вывод видео? Нет, не только и не столько. Так что никаких "специализированных под RPi armhf сборок". Только arm64, только Debian. Нету драйверов для видео? Зато банальные "счётные задачи" типа "пожать чего-нибудь tar'ом с lzma" будут работать ощутимо быстрей. Я, кстати, не помню, как там у broadcom'а с памятью? Помню, что одноканальная только. А вот 32х битная память или 64х? Но не важно, ведь arm64 работает с большей производительностью даже при необходимости работы с памятью "за два подхода" (64х-битные типы данных будут считываться из памяти за два такта).
3. Частности:
3.1. Libreffice. Смотрите пункт 2. Потому что Libreoffice - тяжёлая задача. Архитектурно тяжёлая (имеется ввиду не архитектура CPU, а именно архитектура приложения), как его не компилируй. Про внезапные отставания текста при вводе - см. пункт 1. Тут внезапные лаги - норма.
3.2. Web и Java Script. Простите, а вы чего хотели? Какой-нибудь Atom тоже колом встаёт на web-сайтах, где над web-мастером природа отдохнула. И это притом, что intel'у глубоко наплевать на то, умеет ли javascript движок в процессорную оптимизацию. МЦСТ, например, для того чтобы современный web +/- хорошо работал на Эльбрусах, вообще свой движок пилят. Не знаю, как это решили в Apple - за счёт выделенных ядер, или за счёт оптимизаций движка? Может кто просветит? Но вам надо искать единомышленников и биться над оптимизацией движка в FF, ну или принудительно порезать лишнее каким-нибудь NoScript. И да, FF тоже не лёгкое приложение...
3.3. RDP. Ну тут возможна любая фигня... Вроде у нас тут libfreerdp2. Короче, надо переезжать на arm64, смотреть, не поможет ли это производительности. Потом смотреть, что же тормозит. В простом случае окажется, что тормоза происходят из-за зависимостей libfreerdp2, и зависимости те мы можем выкинуть. В сложном - в зависимостях, но выкинуть мы их не можем, или, даже, плохая производительность обусловлена логикой работы основного кода libfreerdp2. И тогда надо будет что-то резко переписывать...
Вернёмся к Apple. Заслуга её одна - и это не процессор. У нас IT настолько уже просело в квалификации, что все начали бегать с куском кремния. А реально важно лишь одно - Apple занялось архитектурой ПО. M1 вообще не лидер мира ARM. Чудовища типа Marvell ThunderX2 существуют гораздо дольше, чем неучи хайп вокруг M1 носят. Даже у меня есть плата с 24х ядерным ARM'ом. Но я пишу этот текст с настолки на Ryzen 2400. Потому моя работа пока что не касается рабочих мест на базе ARM, а задача по оптимизации производительности на ARM'ах, не имеющих возможности забить все проблемные места резервом производительности, - это прям задача на full-time.
azsx, я вам написал развёрнуто как, что и куда. Вы довольны?
И да, совет из пункта 3.3 относится и к 3.2, и к 3.1. Мб можно что-то выкинуть из функционала LO и FF, что-то из того, что вам не надо, но зато исключить проблемные участки кода?
1. Надо понимать главную особенность всех RPi - это процессор от Broadcom, который, по-хорошему, не должен использоваться в чём-то акромя медиаплеера. Ведь главной особенностью этих процессоров является GPU VideoCore, а именно тот факт, что памятью здесь заведует не CPU, а именно GPU. И такая схема идеально работает, когда надо иметь дело с потоками видеоданных, ибо позволяет архитектурно обойтись без двойного копирования данных по ОЗУ, но из-за этого производительность иных задач не поддаётся прогнозированию.
2. Рабочая станция, это же не только про вывод видео? Нет, не только и не столько. Так что никаких "специализированных под RPi armhf сборок". Только arm64, только Debian. Нету драйверов для видео? Зато банальные "счётные задачи" типа "пожать чего-нибудь tar'ом с lzma" будут работать ощутимо быстрей. Я, кстати, не помню, как там у broadcom'а с памятью? Помню, что одноканальная только. А вот 32х битная память или 64х? Но не важно, ведь arm64 работает с большей производительностью даже при необходимости работы с памятью "за два подхода" (64х-битные типы данных будут считываться из памяти за два такта).
3. Частности:
3.1. Libreffice. Смотрите пункт 2. Потому что Libreoffice - тяжёлая задача. Архитектурно тяжёлая (имеется ввиду не архитектура CPU, а именно архитектура приложения), как его не компилируй. Про внезапные отставания текста при вводе - см. пункт 1. Тут внезапные лаги - норма.
3.2. Web и Java Script. Простите, а вы чего хотели? Какой-нибудь Atom тоже колом встаёт на web-сайтах, где над web-мастером природа отдохнула. И это притом, что intel'у глубоко наплевать на то, умеет ли javascript движок в процессорную оптимизацию. МЦСТ, например, для того чтобы современный web +/- хорошо работал на Эльбрусах, вообще свой движок пилят. Не знаю, как это решили в Apple - за счёт выделенных ядер, или за счёт оптимизаций движка? Может кто просветит? Но вам надо искать единомышленников и биться над оптимизацией движка в FF, ну или принудительно порезать лишнее каким-нибудь NoScript. И да, FF тоже не лёгкое приложение...
3.3. RDP. Ну тут возможна любая фигня... Вроде у нас тут libfreerdp2. Короче, надо переезжать на arm64, смотреть, не поможет ли это производительности. Потом смотреть, что же тормозит. В простом случае окажется, что тормоза происходят из-за зависимостей libfreerdp2, и зависимости те мы можем выкинуть. В сложном - в зависимостях, но выкинуть мы их не можем, или, даже, плохая производительность обусловлена логикой работы основного кода libfreerdp2. И тогда надо будет что-то резко переписывать...
Вернёмся к Apple. Заслуга её одна - и это не процессор. У нас IT настолько уже просело в квалификации, что все начали бегать с куском кремния. А реально важно лишь одно - Apple занялось архитектурой ПО. M1 вообще не лидер мира ARM. Чудовища типа Marvell ThunderX2 существуют гораздо дольше, чем неучи хайп вокруг M1 носят. Даже у меня есть плата с 24х ядерным ARM'ом. Но я пишу этот текст с настолки на Ryzen 2400. Потому моя работа пока что не касается рабочих мест на базе ARM, а задача по оптимизации производительности на ARM'ах, не имеющих возможности забить все проблемные места резервом производительности, - это прям задача на full-time.
azsx, я вам написал развёрнуто как, что и куда. Вы довольны?
И да, совет из пункта 3.3 относится и к 3.2, и к 3.1. Мб можно что-то выкинуть из функционала LO и FF, что-то из того, что вам не надо, но зато исключить проблемные участки кода?
С уважением,
Павел Алиев
Павел Алиев
Спасибо сказали:
Re: Производительность rpi4 для дома и быта -- как измерить?
Да. Многое не понял, но очень интересно.
Может быть. Но мне кажется, что по танку гранатой будет проще. Ну или хотя бы более понятно. Буду разбираться, пока софт запускаю. То есть сперва я вообще запущусь, потом уже буду думать о тормозах.
---
thunderbird тормозит жутко. Почтовики меня массово стали блокировать при добавлении ящиков пачкой, мол, у меня неизвестная ОС, они меня не знают Борюсь!
Добавлено (17:30):
зыКстати в thunderbird не работает даже основной плагин календаря, так куча не поддерживаемых в этой ос (расбиан) плагинов. Что как бы "нужность" именно этого почтовика сильно снижает.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
thunderbird - адский отожранный комбайн. Может что-то скромней надо, но чтобы хорошо работало с большими ящиками, а-ля claws mail?
А как понять "почтовики блокируют"?
Ну взять LO. Для начала поудалять всякие script-provider и sdbc. Вы же ими не пользуетесь? Мб её пересобрать без всего того, что вам не надо. Да, на это уйдёт не день... и не два. На эксперименты эти. Потом, мб, что-то ещё окажется нужным переписать. Так процесс оптимизации и выглядит.
Это ещё и много чего говорит об этих ваших "специализированных сборках от производителя".
С уважением,
Павел Алиев
Павел Алиев
Re: Производительность rpi4 для дома и быта -- как измерить?
Да ладно, у меня на rpi4 он совсем не нагружает процессор. У меня сейчас одновременно запущен Libreoffice-7.1.2.2, firefox-88.0, на нем сейчас и набираю на этом сайте. И процессор практически не загружен, в момент печати максимальные всплески некоторых ядер доходят до 13 процентов, а так среднее это где то 5 процентов нагрузки на отдельное ядро(по переменно меняются). Т.е. нагрузки почти нет. Сейчас попробовал запускать Full HD, на smplayer, он воспроизводит через mpv, нормально все воспроизводит и печатать не мешает сейчас, запустил этот, ни чего не тормозит, хотя одновременно запущенны LO, FF, и smplayer на проигрывание этого файла, максимальные всплески доходят до 84 процентов, но ни чего не тормозит. Скорее всего сам VLC довольно сильно нагружает систему, с smplayer такого нет.
Так что вполне себе десктоп, если надо могу ещё включить IP камеру Full HD на проигрывание в плеере и проверить. А так на запись она почти не нагрузит систему, так как камера сама декодирует. Одно ядерник интеловский давно бы тормозил.
Re: Производительность rpi4 для дома и быта -- как измерить?
Может быть, штатно был именно claws mail установлен. Почему я пользуюсь thunderbird? зы решение будет для оффтопика.
У меня есть 2 почтовых ящика, в которых тысячи писем. Ящики рабочие, их могут просто "грохнуть" а письмо может понадобится 10 летней давности и очень часто надо искать за последние пару лет письма.
Что я делаю?
Я в thunderbird время от времени сохраняю все письма в eml. Они сохраняются с вложениями, то есть картинки, документы, архивы. Затем я mailconverter (виндовый софт) конвертирую их в html с вложениями. Сортирую по годам, имею вполне годный поиск (коперник декстоп). Всё это неудобно, отнимает ресурсы ПК, но это надо.
Это не вопрос, скорее просто описал, что некоторые "задачи" у меня крайне сильно привязаны к винде. Сижу, вообще разбираюсь, как переехать. Не до эксперементов с почтовыми клиентами пока
---
Допустим у меня 2 гугл ящика. Первый дал добавить. Второй не даёт, не верный логин с паролем пишет, когда надо авторизировать приложение в безопасности. Я могу зайти в акк и вручную приложение разрешить, но пока ладно.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
См. про особенности GPU от Broadcom. Вы описываете случай, когда особенности работают "в плюс". И я за вас рад.
Это какие-то вендоро-специфичные проблемы не имеющие ничего общего ни с imap, ни с ОС, ни с железкой... вообще ни с чем, кроме звёзд на небе и сплетений нейронов какого-нибудь индуса из Гугла.
С уважением,
Павел Алиев
Павел Алиев
Re: Производительность rpi4 для дома и быта -- как измерить?
а я ведь вам кричал.
Поэтому я пока не эскперементирую с разными программами я запускаю на тех, на чём уже работает.
Re: Производительность rpi4 для дома и быта -- как измерить?
Причем тут gpu, с ПО как раз работает процессор, к устройствам доступ идет через ядро ОС. А вот работу устройств и памяти обеспечивает gpu. CPU сам по себе не обеспечивает работу с памятью, то же самое и в с процессорами intel, за это отвечал северный мост(чип). Ну и то же самое и в современных процессорах интел контроллер управления памятью в одном корпусе, но сам CPU не управляет памятью. Если отключить ускорение видеокарты(opengl и т. д.), то так же будет процессор грузится не слабо, но там и процессор помощнее будет, по этому все равно должен тянуть. Реально ускорения аппаратного ускорения при воспроизведении видео в rpi практически нет, разве что сам gpu помогает, но в rpi он все равно слабый. Аппаратное кодирование работает, но вот чтобы декодирование при воспроизведении нормально работало я не видел, что в gentoo что в raspberrypi os. Я могу ещё ускорить rpi до 2 ГГц, но тогда средняя температура процессора с моим охлаждением будет где то 60 градусов, но система будет работать значительно быстрее. По сути gpu там участвует в формировании физического адреса, хоть это сильно просто сказано, но я не думаю что например память и pci-e работают на частоте 400 mhz как gpu в rpi4.
Re: Производительность rpi4 для дома и быта -- как измерить?
интересная тема, я как раз недавно задумался над покупкой распберипи, хотел поиграться немного, понакатывать разные ОС, пощупать в плане "дешевого десктопа для родителей" и в итоге либо сделать ретро консоль, чтобы в танчики из детства порубиться(battle city)либо же как-то подключить к монитору и в кухне установить, чтобы можно было что-то там проигрывать(ютуб, нетфликс, плекс). правда я не до конца понял как в кухне сделать удобное управление, не клавиатурой же.
Re: Производительность rpi4 для дома и быта -- как измерить?
вопросы простые: размер RAM и скорость привода. С RAM понятно: для нас ресурс критический, так что брать надо в максимальной комплектации. А так — хорошая железка.
Ах, да: проблемы с электропитанием. Вроде бы должно питаться от обычных зарядок но — не будет.
Ах, да: проблемы с электропитанием. Вроде бы должно питаться от обычных зарядок но — не будет.
Re: Производительность rpi4 для дома и быта -- как измерить?
А почему нет. Есть довольно компактные беспроводные клавиатуры с встроенным тачпадом. В ютубе же поиск по названию надо же как то набирать. А так проектов полно самых разных для Raspberry Pi.
На Али полно блоков питания для raspberry Pi.
А так вроде где то смотрел в что в последних моделях это поправили, но те что на Али все те же. Там питание неправильно распаяно, видно враги постарались))
Re: Производительность rpi4 для дома и быта -- как измерить?
Как владелец двух рпи могу смело сказать, не правда это. Какие только я БП не подключал. Конечно, надо брать более менее нормальные. Но подходят почти от всех смартфонов телефонов по ваттажу. Сейчас рпи4 у меня питается от БП 120 рублей, ремакс, на 2 провода.
У меня такая консоль на рпи3в+. Очень рекомендую геймпады брать нормальные. Мне повезло, я взял на али в комплекте и они нормальные. А товарищ взял подороже и с виду получше, но ими играть невозможно, они хлипкие. Также даже на рпи3 идёт стеам линкс, то есть при наличии пк на кухне можно играть в тяжёлые виндовые игры. В дистрибутиве калькулейт линукс настроили стеам линк в линукс. Но я правда так не играю. Пинг не нравится. Зато подключал один беспроводной геймпад логитек f710 -- работает.
Это скорее другая моя тема "почему вы людям не ставите линукс". Моей маме линукс не зашёл, так как она играет в офисные игры (всякие шарики, фермы, кафе -- все оффлайн) и они идут только на винде. То есть если исключительно браузер хромиум, только оптимизированный софт, то рпи4 с 8 гб более менее хватает. Но шаг в сторону и тормоза жуткие. Как и всё на арм.
зы
Ну и в целом. У меня пример, интел селерон 1.1 ггц, 2 ядра, также 8 ядер. Но ссд. Так вот он работает раза в 2 быстрее и у него нет внезапных тормозов!
Re: Производительность rpi4 для дома и быта -- как измерить?
У вас хоть на rpi4 охлаждение стоит? У меня такое стоит. С ним можно вполне при желании разогнать, просто добавить в /boot/config.txt строчки:
Код: Выделить всё
arm_freq=2000
gpu_freq=600
over_voltage=6
А так у меня и без разгона не тормозит.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
И правда, причём тут GPU?)ormorph писал(а): ↑08.05.2021 08:10Причем тут gpu, с ПО как раз работает процессор, к устройствам доступ идет через ядро ОС. А вот работу устройств и памяти обеспечивает gpu. CPU сам по себе не обеспечивает работу с памятью, то же самое и в с процессорами intel, за это отвечал северный мост(чип). Ну и то же самое и в современных процессорах интел контроллер управления памятью в одном корпусе, но сам CPU не управляет памятью. Если отключить ускорение видеокарты(opengl и т. д.), то так же будет процессор грузится не слабо, но там и процессор помощнее будет, по этому все равно должен тянуть. Реально ускорения аппаратного ускорения при воспроизведении видео в rpi практически нет, разве что сам gpu помогает, но в rpi он все равно слабый. Аппаратное кодирование работает, но вот чтобы декодирование при воспроизведении нормально работало я не видел, что в gentoo что в raspberrypi os. Я могу ещё ускорить rpi до 2 ГГц, но тогда средняя температура процессора с моим охлаждением будет где то 60 градусов, но система будет работать значительно быстрее. По сути gpu там участвует в формировании физического адреса, хоть это сильно просто сказано, но я не думаю что например память и pci-e работают на частоте 400 mhz как gpu в rpi4.
Смешались в кучу память, северный мост от каких-то там intel'ов 20 летней давности и ещё всего по-мелочи. Каша какая-то получилась, однако... Но я вас спасу
Во-первых, я вам настоятельно советую откинуть всякие там познания о том, на каком там чипе чего стоит. Ибо стоит оно там, где ему лучше быть, с поправкой на то, куда смогли запихать (технологические ограничения ограничивают, внезапно). А нас, если мы хотим не демагогией заниматься, интересует в первую очередь архитектурно-обсуловленное деление. Ибо кто над кем стоит понимать - это дофига важно.
Во-вторых, надо понимать, что контроллер памяти в современном x86-совместимом проце сильно сложней устроен, и умеет больше, чем его коллега в любом arm'е потребительского сегмента (серверных монстров не берём, там не всё так однозначно). И контроллер памяти в x86-процессоре современном висит на HT, на том же HT висят ещё и ядра процессора, и корневой pci-e, и видюха встроенная (если есть, притом она ещё весит и в pci-e - для работы, по HT она только в память ходит). Это сделано потому так, потому что всем этим устройствам может понадобится сходить в память. Независимо друг от друга. А память, кстати, весьма медлительный ресурс. Тут и очередь может возникнуть
И, в-третьих, надо понимать зачем GPU заведует памятью в чипах Broadcom. В мире копеечных arm'ов ещё DMA не везде подвезли... А пользователи хотят уже всякие там тяжёлые потоковые данные таскать. И чтобы сильно не заморачиваться с производительностью контроллера памяти, чтобы не парится относительно необходимости двух-и-более канальной организации той самой памяти, чтобы не надо было заморачиваться всякими технологиями, позволяющими уменьшить загрузку на процессор в рамках копирования данных с видео-устройства в память (DMA или даже что-то совершенней) и обратно, ребятки из Broadcom'а просто отдали ту самую память в ведение GPU. Всё. Главная фишка "тех самых драйверов видео, к которым вы аппелируете" именно в том, что они позволяют GPU понимать, где в пространстве памяти, доступном CPU, сейчас лежат те самые данные, и работать с ними сразу. Не дожидаясь перемещения из одной части памяти в другую, никак этим не напрягая CPU. Но если GPU нужно в память, то CPU будет ждать. Приоритет над CPU - зло. А он тут безусловный. GPU всегда прав.
Другие производители бюджетных arm-чипов ставят на лучшую архитектуру контроллеров памяти. Даже совсем бюджетные китайские чипы имеют лучшие показатели производительности работы с памятью. Просто потому что они не стали полагаться на архитектурные костыли и совершенствуют контроллеры той самой ОЗУ.
И да. Специально для фанбоев RPi. Память GPU иногда течёт. При интенсивном использовании с теми самыми драйверами видео. Представьте себе картину: условная IP-камера (на малинке собранная) отдаёт изображение с задержкой 0.1 секунды. Месяц. А потом, одним скачком, задержка возрастает до 2 минут... А потом всё это умирает. Виснет. Ни в логах ничего нет. Нигде. Потому что GPU живёт своей жизнью. Он тут главный
С уважением,
Павел Алиев
Павел Алиев
Re: Производительность rpi4 для дома и быта -- как измерить?
Тут я как бы не спорю, но не думаю что на этапе загрузки эта память не разделяется и все так тупо продумано разработчиками, ну и я не думаю что память там одно канальная. Вот могу показать пример, запустил одновременно на rpi4 видео 4k которое жутко тормозит, работает одновременно запись с экрана и я произвожу печать в libreoffice, как видно печать там не тормозит и процессор загружен по максимуму.Aliech писал: ↑09.05.2021 02:46Главная фишка "тех самых драйверов видео, к которым вы аппелируете" именно в том, что они позволяют GPU понимать, где в пространстве памяти, доступном CPU, сейчас лежат те самые данные, и работать с ними сразу. Не дожидаясь перемещения из одной части памяти в другую, никак этим не напрягая CPU. Но если GPU нужно в память, то CPU будет ждать. Приоритет над CPU - зло. А он тут безусловный. GPU всегда прав.
Скорее всего у него какие то приколы с блобами(.dtbo), на какой то из прошивок какие то проблемы, они как раз загружаются не ядром(раньше ядра). Скорее всего нужно использовать что-нибудь по новее. Там не все так просто. Факт что я сейчас даже не могу воспроизвести у себя эту проблему. Она конечно может у меня воспроизвестись в момент сборки dev-qt/qtwebengine, когда идёт процесс линковки, но такие проблемы могут возникать и на интеловских процессорах.
На rpi4 довольно мудрёная система, и причин может быть довольно много. Сейчас я больше убеждён в том, что причина скорее всего, либо в браке rpi4, либо в работе прошивок.
Ну задержка итак идёт на всех IP камерах. Правда я смутно могу представить такой пример, если устройство в данном случае практически не использует видео драйвер, оно может использовать аппаратное кодирование и ещё что, но видеодрайвер ему не особо нужен, так как оно выполняет узкоспециализированные задачи.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
На RPi нет ничего мудрёного, акромя схемы инициализации железки и особенностей её работы. dtbo. - куски dtb. И последний, кстати, он нужен именно ядру. Грузят его до загрузки ядра только затем, чтобы обеспечить переносимость ядра. Никто не мешает его вкомпилить в ядро и не грузить его отдельно перед ядром.ormorph писал(а): ↑09.05.2021 05:35Скорее всего у него какие то приколы с блобами(.dtbo), на какой то из прошивок какие то проблемы, они как раз загружаются не ядром(раньше ядра). Скорее всего нужно использовать что-нибудь по новее. Там не все так просто. Факт что я сейчас даже не могу воспроизвести у себя эту проблему. Она конечно может у меня воспроизвестись в момент сборки dev-qt/qtwebengine, когда идёт процесс линковки, но такие проблемы могут возникать и на интеловских процессорах.
На rpi4 довольно мудрёная система, и причин может быть довольно много. Сейчас я больше убеждён в том, что причина скорее всего, либо в браке rpi4, либо в работе прошивок.
Возможно, вы не поняли мой посыл. Я написал следующее: даже если ты добился хорошей производительности (отвечающей поставленным задачам) от системы на базе Broadcom, то всё это может совершенно само по себе переставать работать. И причину этого никак не отследишь. Потому что что-то стоит над CPU при работе с ресурсами. Это я об проявлениях архитектурных косяков.ormorph писал(а): ↑09.05.2021 05:35Ну задержка итак идёт на всех IP камерах. Правда я смутно могу представить такой пример, если устройство в данном случае практически не использует видео драйвер, оно может использовать аппаратное кодирование и ещё что, но видеодрайвер ему не особо нужен, так как оно выполняет узкоспециализированные задачи.
Но, к вашему сведению, видеодрайвер в RPi крутится (крутился, ещё года три назад, но они вроде бы хотели писать свою реализацию открытую) вокруг проприетарных библиотек VideoCore. Те же библиотеки и при "аппаратной" работе с видео используются. Кстати, если хотите ускорение видео так, как это задумано, то придётся отказаться от всяких там плееров. Они рушат всю концепцию VideoCore. Надо скармливать VideoCore поток видео не декодированный, а он уже сам, в какую-то зону диспея, будет выводить видео. И тогда вы поймёте, насколько хорошо работает аппаратный декодер. А когда надо реализовать цепочку плеер => декодер => плеер => вывод в окно плеера - это и правда работает там не очень хорошо. Архитектурно не хорошо.
С уважением,
Павел Алиев
Павел Алиев
Re: Производительность rpi4 для дома и быта -- как измерить?
Нет, я такое себе не поставлю даже и не стоит у меня. Шум же будет. У меня пассив.
Добавлено (15:31):
Может rpi поэтому и стал популярен? Что имеет аппаратный кодер и декодер тяжёлых кодеков.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
Отнюдь. Тут сочетание разнородных факторов сыграло, которое позволило отпозиционировать эту поделку как "цифровой конструктор, доступный каждому". Этакое модное хобби.
С уважением,
Павел Алиев
Павел Алиев
Спасибо сказали:
Re: Производительность rpi4 для дома и быта -- как измерить?
Это и есть поделка. К сожалению для Англии задача конечно сложная, требуется привлечения сторонних специалистов, требуется гос финансирование в виде закупок. Но всё же это именно поделка, как я дома ботинки чиню, чтобы при шаге с сильным ударом на пятку сетка не рвалась, а они комп смастерили с gpio и кодером декодером видео. Эх я...
Re: Производительность rpi4 для дома и быта -- как измерить?
Аа, ну тут я и сам не использовал бы такое в таких проектах. Для меня по большему прелесть этой железки, это энергопотребление, приемлемая производительность. Например удобно использовать в связке с цифровым осциллографом и т.д. Мне даже идея GPIO в корпусе не очень сильно вызывает восторг, для конструктора это конечно не плохо, но с этим так же не хуже будут справляться и более слабые arduino и stm32.Aliech писал: ↑09.05.2021 14:22Возможно, вы не поняли мой посыл. Я написал следующее: даже если ты добился хорошей производительности (отвечающей поставленным задачам) от системы на базе Broadcom, то всё это может совершенно само по себе переставать работать. И причину этого никак не отследишь. Потому что что-то стоит над CPU при работе с ресурсами. Это я об проявлениях архитектурных косяков.
Хотя я хотел использовать одну такую для записи видеонаблюдения(для экономии кабеля), просто через POE концентратор подключаются IP камеры и скрипт с помощью ffmpeg записывает поток в файлы определённой длительности.
В данный момент ещё интересует как заставить работать аппаратный кодировщик h265, с аппаратным h264 проблем нет, а вот с h265 ещё не видел, что бы кто то описал что у него это заработало. Хотя у меня присутствует:
Shell
$ v4l2-ctl --list-devices
...
...
rpivid (platform:rpivid):
/dev/video19
/dev/media
Добавлено (17:05):
У них какой то договор broadcom, им уже говорили, что это не очень хорошо, но ответ был если сделать полностью открытую платформу, то стоить она будет значительно дороже.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Производительность rpi4 для дома и быта -- как измерить?
Бросьте это: реализация, доступная через vl42 сильно уступает тому в возможностях, что предлагает API VE. Легко может оказаться, что какой-нибудь rpvid умет 265, а v4l2, работающий, как обёртка над теми же либами, нет.
// но, мои сведения могли устареть, ибо последний раз я щупал rpi3, года 4е назад...
// но, мои сведения могли устареть, ибо последний раз я щупал rpi3, года 4е назад...
С уважением,
Павел Алиев
Павел Алиев
Re: Производительность rpi4 для дома и быта -- как измерить?
Ну так вроде как сами разработчики raspberry pi признают, что mmal устаревший, и в будущем должно работать через vl42 mem2mem, например h264 уже работает:
Shell
$ ffmpeg -i inputfile.mp4 -c:v h264_v4l2m2m -b:v 2M outputfile.mp4