Ну тут очень поверхностный ответ: нужен кросстулчейн, и rootfs той платформы для которой происходит сборка.
В rootfs должны быть не только .h файлы для соответсвующих либ, но и pkgconfig/*.pc файлы зависимостей. Плюс для configure должен быть соответсвующий файл
Использование GPU для eglfs бэкэнда контролируется во время сборки Qt, через configure
./configure… -eglfs -opengl es2…
Во время сборки используются заголовочные файлы и .so от вендора, где включено аппратаное ускорение.
Но надо понимать что для eglfs ускорение используется очень ограниченно. Большинство графических примитивов отрисовываются в software режиме, но на EGL плоскости. И ускорение в основном касается блитта и копирования части графической поверхности.
eglfs(fs — full screen) — в этом режиме работы бэкэнд отрисовки Qt рисует прямиком во framebuffer. Родительский виджет (root) занимает всю видимую область экрана.
Концептуально отличается от linuxfb тем что имеется минимальное аппаратное ускорение
при блитте поверхностей.
Таким образом сначала надо сконфигруировать framebuffer, а затем через переменную окружения указать активный «qpa»
Информации на самом деле достаточно. К примеру вот здесь неплохо описано:
Немножко в теме: все эти медиацентры малоэффективны до тех пор пока нет поддержки аппаратного декодирования видео. Большинство приставок на software decoder'e не вывезут даже h.264 в FullHD, не говоря уже о 4k hevc/h.265.
К примеру тут упоминали X96 max+: на Android все это есть (аппаратное ускорение) для AMLogic S905x3 чипа. Есть сборки Armbian для этой приставки, но туда еще не завезли ускорение на уровне драйверов.
PS: Кстати на Android X96 max+ есть изкоробки KODI mediacenter. Лично мне нравятся приставки Infomir.
Соглашусь с популярным мнением что препроцессор это не часть языка, и если есть возможность избегать макросов то лучше это сделать.
«Колбаса» начинается когда макрос генерирует макросы которые разворачиваются в другие макроссы, будто это эффективный инструмент для кодогенерации.
Чисто субьективно: IntelliSense плачет, я плачу, люди которые читаю код после меня тоже страдают — зачем это все? Чтобы «красиво» написать все в 2 строки, а не в 4 понятно?
По правде говоря думая о Ragel я представлял в уме BNF, нежели стандартные регулярки. Не могу понять пока уместно ли говорить о DFA/NFA в контексте Ragel. Задумался, пошел читать Википедию.
Отличная статья, отличные слайды и отличное чувство юмора (нам нравится одна и таже шутка) — спасибо! Таки да статью не читал, но о̶с̶у̶ж̶д̶а̶ю̶ одобряю!
Как-то сложно, уж проще svg с QR кодом встроить через <svg/> в тело html.
Во времена FIDO была шутка с передачей информации через wav файлы, в которых ты через микрофон надиктовывал UUENCODE полезной нагрузки.
Так я ведь и написал что время от времени мониторю свежие версии — именно на основании этих наблюдений и делаю вывод что С++Builder застрял в прошлом веке.
Пользовался плотно — критерии сравнения вполне осознаны.
С++Builder 6 это не первая версия которой я пользовался — и если до нынешних дней
дошли «родовые дефекты» из первых верий, то считаю такое надо отпустить (и забыть). Само собой это мое частное мнение, и именно так я и поступил в свое время.
«На сдачу» — очень метко. Последняя боевая версия С++ Builder, которой я пользовался, это была 6.0. Причем я использовал какой-то дико популярный в то время VCL компонент для отображения таблиц(не помню как назывался), и проект не собирался в таком случае если не пропатчить среду до «Hotfix update 4». Про Boost уже говорили…
А последнее что я запомнил о Delphi это проблемы с unicode, но кажись уже все хорошо. Хорошо?
PS: свежие версии C++Builder ставлю примерно раз в год, ради забавы. Ностальгия, так сказать.
У меня есть опыт сборки Qt 5.8 при помощи distcc(без ccache) на Ryzen 7 3700x (8 ядер, 16 потоков) на 16GB RAM, 100 Mbit/s LAN. И по правде говоря выигрыш в сборке в пределах 10%-20%. Основные затыки были на линковке, которая не параллелится.
Боюсь что накладные расходы на дистрибуцию задач по нодам Incredibuild/distcc больше чем затраты на локальную сборку. Особенно на таком монстре как Threadripper 3990X.
Хотя допускаю что сильно зависит от проекта который собираешь.
Продукт (C++ Builder) был неплох лет 20 назад. Но складывается впечатление что он не развивается и так и застрял там.
С Delphi подозреваю дела чуть получше. Не вижу смысла сейчас использовать «это» — уж проще тогда Qt + QtCreator или C#+WinForms.
Ну на видео видно что палец выпрямлен, а на загнут как бывает когда работает с тачпадом. Я попробовал манипулировать пальцем таким образом, и у меня сразу начало ныть в запястье. По ощущениям примерно также как будто-то бы рука на весу.
Это у меня так только ?!
Не хочу обесценить труд автора, но пробовали ли вы когда-то вешать занавески/шторы на каринизе? Уже через пару минут «рук на весу» они становятся ватными, и их хочется опустить. Точно также и с этими интерфейсами — это круто и зрелищно, но не практично. Даже XBox/Kinect страдает этой осбенностью.
В качесте proof-of-concept очень круто. Можно потом применять в более подходящих целях.
По правде говоря даже С++11 временами поддерживается с горем пополам, имеющимися тулчейнами. Бывало такое что вообще фичи были в пространстве имен std::tr1. Так что С++20 для многих это фантазии, к сожалению.
Одноплатный компьютер для embedded программиста
В rootfs должны быть не только .h файлы для соответсвующих либ, но и pkgconfig/*.pc файлы зависимостей. Плюс для configure должен быть соответсвующий файл
Вот к примеру сниппет для сборки
Одноплатный компьютер для embedded программиста
./configure… -eglfs -opengl es2…
Во время сборки используются заголовочные файлы и .so от вендора, где включено аппратаное ускорение.
Но надо понимать что для eglfs ускорение используется очень ограниченно. Большинство графических примитивов отрисовываются в software режиме, но на EGL плоскости. И ускорение в основном касается блитта и копирования части графической поверхности.
Одноплатный компьютер для embedded программиста
Концептуально отличается от linuxfb тем что имеется минимальное аппаратное ускорение
при блитте поверхностей.
Таким образом сначала надо сконфигруировать framebuffer, а затем через переменную окружения указать активный «qpa»
Информации на самом деле достаточно. К примеру вот здесь неплохо описано:
doc.qt.io/qt-5/embedded-linux.html
KODI: собираем удобный и функциональный медиацентр для дома. Часть 1
К примеру тут упоминали X96 max+: на Android все это есть (аппаратное ускорение) для AMLogic S905x3 чипа. Есть сборки Armbian для этой приставки, но туда еще не завезли ускорение на уровне драйверов.
PS: Кстати на Android X96 max+ есть изкоробки KODI mediacenter. Лично мне нравятся приставки Infomir.
Макросы в С и С++
«Колбаса» начинается когда макрос генерирует макросы которые разворачиваются в другие макроссы, будто это эффективный инструмент для кодогенерации.
Чисто субьективно: IntelliSense плачет, я плачу, люди которые читаю код после меня тоже страдают — зачем это все? Чтобы «красиво» написать все в 2 строки, а не в 4 понятно?
Регулярные выражения (regexp) — основы
Регулярные выражения (regexp) — основы
Регулярные выражения (regexp) — основы
Регулярные выражения (regexp) — основы
Регулярные выражения (regexp) — основы
Новая фишинговая атака использует азбуку Морзе для сокрытия вредоносных URL-адресов
Во времена FIDO была шутка с передачей информации через wav файлы, в которых ты через микрофон надиктовывал UUENCODE полезной нагрузки.
Threadripper 3990X: компилируем 1 миллиард строк C++ на 64 ядрах
Пользовался плотно — критерии сравнения вполне осознаны.
С++Builder 6 это не первая версия которой я пользовался — и если до нынешних дней
дошли «родовые дефекты» из первых верий, то считаю такое надо отпустить (и забыть). Само собой это мое частное мнение, и именно так я и поступил в свое время.
Threadripper 3990X: компилируем 1 миллиард строк C++ на 64 ядрах
А последнее что я запомнил о Delphi это проблемы с unicode, но кажись уже все хорошо. Хорошо?
PS: свежие версии C++Builder ставлю примерно раз в год, ради забавы. Ностальгия, так сказать.
Threadripper 3990X: компилируем 1 миллиард строк C++ на 64 ядрах
Боюсь что накладные расходы на дистрибуцию задач по нодам Incredibuild/distcc больше чем затраты на локальную сборку. Особенно на таком монстре как Threadripper 3990X.
Хотя допускаю что сильно зависит от проекта который собираешь.
Threadripper 3990X: компилируем 1 миллиард строк C++ на 64 ядрах
С Delphi подозреваю дела чуть получше. Не вижу смысла сейчас использовать «это» — уж проще тогда Qt + QtCreator или C#+WinForms.
Пора избавляться от мышки или Hand Pose Estimation на базе LiDAR за 30 минут
Это у меня так только ?!
Пора избавляться от мышки или Hand Pose Estimation на базе LiDAR за 30 минут
В качесте proof-of-concept очень круто. Можно потом применять в более подходящих целях.
Сквозное шифрование в Zoom появится и на бесплатных тарифах
Интригующие возможности С++ 20 для разработчиков встраиваемых систем
Советская IBM-PC Электроника МС-1502