Как в QML наиболее правильно сделать ~50 копий изображения?
qml, память, картинка, копирование
Делю приложение, на экране которого 10 анимированных счетчиков на 5 разрядов каждый. Изображения цифр размещены на картинке, представляющей собой вертикальную ленту с цифрами от 0 до 9.
И получается, что эту ленту надо использовать на экране 50 раз.
Я плохо знаю внутреннее устройство QML, поэтому вопрос: как наиболее эффективно можно использовать одно и то же изображение 50 раз? Достаточно ли просто указывать в разных Image один и тот же source:
Image { source: "qrc:/resource/pic/digits/digitRibbon.png" y: -parent.delta+(parent.digitValue*parent.step) }
что бы картинка несколько раз не грузилась в память и несколько раз не инициировалась процедура загрузки картинки из ресурса/файла? Или нужно что-то специфическое прописывать?
2
99
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Добрый день!
Когда создаёте несколько изображений из одного ресурса, то там отрисовка будет каждый раз инициализировать свой объект, это очень накладно по производительности.
Но если воспользоваться возможностями отрисовки через OpenGL, то можно использовать одну текстуру, которую можно передавать на отрисовку в бесконечное (естественно в рамках объёмов операционной памяти) количество объектов.
Посмотрите вот эту статью про OpenGL в QML . Там есть метод updatePaintNode() , в котором реализована отрисовка.