R
Ruslan-maniak19 декабря 2018 г. 20:10

Qt quick на raspberry 3. Очень медленно.

QML, ARM

Приветствую. Реализовал интерфейс с использованием QML в винде на ПК. Однако собрав этот же проект на малине (raspbian), я получил дико лагающее приложение. Хотя интерфейс крайне примитивен. Также приложение выдает сообщение "JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform." В интернетах пишут что надо включить поддержку OpenGL на малине, но есть нюанс: дисплей у меня работает по SPI интерфейсу, а не HDMI. Кто что может подсказать?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

7
Алексей Внуков
  • 19 декабря 2018 г. 20:16
  • (ред.)

сейчас делаю проект на малине, как ось использую ArchLinux, Qt 5.12 проект на QML - сильных лагов не замечено. работаю непосредственно на малине. можно пример кода?

    linq
    • 19 декабря 2018 г. 20:17

    Что за дисплей такой?

      Алексей Внуков
      • 19 декабря 2018 г. 20:19

      какой? подключил клаву и морду, как стандартный пк

        Evgenii Legotckoi
        • 19 декабря 2018 г. 20:21

        Добрый день!

        Не совсем уверен, как именно соотносится OpenGL и SPI интерфейс, но OpenGL же - это поддержка отрисовки графики средствами графической карты.
        То есть, если правильно понимаю, то вам должно быть достаточно просто включить поддержку OpenGL на Raspberry 3. А библиотеки малины уже сами должны разобраться, в каком виде высылать отрисованную графику на интерфейс.

        1. Open raspi-config
        2. Advanced Options
        3. GL Driver
        4. GL(Full KMS)

        Пробовали эти шаги повторить? Если нет, то сделайте это. Если проблема действительно только во включении OpenGL, то это должно решить проблему.

          Алексей Внуков
          • 19 декабря 2018 г. 20:21

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

            R
            • 19 декабря 2018 г. 20:47
            • (ред.)

            У меня тоже возникли сильные сомнения в том что отрисовка во фрэймбуффер и отправка из него по SPI как-то связаны, когда я такое услышал на другом форуме. Включать GL драйвер я пробовал, это не помогло. Использую qt5.7. Может из-за того что нет компиляции QML? Как в более поздних версиях? Вот пример кода. Просто переключение фокуса между элементами уже тормозит.

            Page
            {
                focus: true
                width: 480
                height: 320
                Image
                {
                    source: "images/фон.png"
                    anchors.centerIn: parent
                    z: 0
                }
                ListView
                {
                    id: mainMenulistView
                    anchors.fill: parent
                    anchors.centerIn: parent
                    anchors.leftMargin: 35
                    focus: true
                    spacing: 5
                    orientation: ListView.Horizontal
                    activeFocusOnTab: true
                    model: ListModel
                    {
                        ListElement
                        {
                            title: "Печать";
                            selImage: "images/печать-фокус.png"
                            deselImage: "images/печать.png"
                        }
                        ListElement
                        {
                            title: "Настройки";
                            selImage: "images/настройки-фокус.png"
                            deselImage: "images/настройки.png"
                        }
                        ListElement
                        {
                            title: "Инфо";
                            selImage: "images/инфо-фокус.png"
                            deselImage: "images/инфо.png"
                        }
                    }
            
                    delegate: Image
                    {
                        id: rect
                        //source: ListView.isCurrentItem ? model.selImage : model.deselImage
                        source: activeFocus ? model.selImage : model.deselImage
                        anchors.verticalCenter: parent.verticalCenter
                        width: activeFocus ? 134 : 130
                    }
            
                    onCurrentIndexChanged:
                    {
            
                    }
                    Keys.onLeftPressed:
                    {
                        mainMenulistView.decrementCurrentIndex();
                        console.log(mainMenulistView.currentIndex)
                    }
                    Keys.onRightPressed:
                    {
                        mainMenulistView.incrementCurrentIndex();
                        console.log(mainMenulistView.currentIndex);
                    }
                    Keys.onSpacePressed:
                    {
                        if(mainMenulistView.currentIndex == 0)
                        {
                            console.log("enter to Print");
                            stackView.push("menuPrint.qml");
                        }
                        else if(mainMenulistView.currentIndex == 1)
                        {
                            console.log("enter to Settings");
                            stackView.push("menuSettings.qml");
                        }
                    }
                }
            }
            
              Docent
              • 20 декабря 2018 г. 1:05

              У SPI интерфейса-дисплея скорость медленная, отрисовка 2-3 кадра в сек, подключите нормальный HDMI и запустите ту же самую программку. Малина вполне неплохо справляется с FullHD при правильных настройках, что она с QML не справится как-то не верю.

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                Ua

                Qt - Тест 001. Сигналы и слоты

                • Результат:84баллов,
                • Очки рейтинга4
                Ua

                Qt - Тест 001. Сигналы и слоты

                • Результат:42баллов,
                • Очки рейтинга-8
                ОК

                Qt - Тест 001. Сигналы и слоты

                • Результат:47баллов,
                • Очки рейтинга-6
                Последние комментарии
                ИМ
                Игорь Максимов22 ноября 2024 г. 21:51
                Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                Evgenii Legotckoi
                Evgenii Legotckoi31 октября 2024 г. 23:37
                Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                A
                ALO1ZE19 октября 2024 г. 17:19
                Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь Максимов5 октября 2024 г. 16:51
                Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas55 июля 2024 г. 20:02
                QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                Сейчас обсуждают на форуме
                f
                firstlunoxod15 февраля 2025 г. 13:46
                Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                Дмитрий
                Дмитрий3 февраля 2025 г. 16:24
                Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                NW
                Nayo Wai30 января 2025 г. 19:22
                не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                n
                nkly3 января 2025 г. 12:52
                Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                M
                Marsel17 августа 2023 г. 0:26
                OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                Следите за нами в социальных сетях