MX_Master писал(а):Чтобы досконально разобраться надо как минимум месяц детально изучать вопрос, проводя походу тесты. Желательно совместно,
Согласен.
Почему это не реализовано в ядре? Во первых лицензия. Во вторых, ядро Mali это просто аппаратно реализованный сопроцессор
для вычисления рендеринга векторной картинки который разработан партнёрами ARM.
Цитата: "Графический процессор Mali не имеет контроллеров дисплея, управляющих мониторами
(например, комбинация, часто встречающаяся в обычных видеокартах). Вместо этого это чистый 3D движок,
который делает графику в памяти и передаёт в руки изображения на другое ядро, которое его обрабатывает."
Шейдеры OpenGL ES, для того что бы они могли работать на сопроцессоре Mali, собираются своим компилятором.
Осюда блобы. Т.е. нельзя настроить сборку ядра из исходников в рамках одного процесса с одним компилятором.
Там применяется способ "нулевого копирования" между процессором и сопроцессором в общую память, в область оперативной памяти
строго определённую для этого. Как этот процесс будет влиять на РТ надо тестировать. С этим полностью согласен.
Что касается РТ, тесты показывают, что с РТ патчем и ядром v4.14.y латенси тест на процессорах Н3,Н5 ~ 150-450
(не патченные cyclictest показывает 1500 и больше).
Можно кончно побороться и немного улучшить, но.
Такую задержку показывают устаревшие оригинальные ядра без всяких патчей, а птченные ~50-80.
Это неудовлетворительный результат. По моим оценкам, читая буквари Allwiner, эти процессоры спокойно должны обеспечить ~10-15.
Поэтому я начал искать другой путь. И нашёл - это XENOMAI.
Провёл тест на ноутбуке (хотя х86 архитектура). С РТ патчем лучше чем 70-80 не получилось,
а XENOMAI сразу, без особых настроек, показал 15-25.
Выше я приводил тест с непатченным ядром v4.17.2 который оказался близким к оригинальным ядрам,
поэтом перешёл на эту версию, портировал XENOMAI IPIPE для этой версии ядра. Сегодня приступаю к процессу сборки.
Если где то заблуждаюсь, пожалуйста поправте.