Russian Qt Forum
Ноябрь 23, 2024, 04:34
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt Quick
(Модератор:
navrocky
) >
qml:: вердикт по опыту эксплуатации 6 мес.
Страниц:
1
[
2
]
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: qml:: вердикт по опыту эксплуатации 6 мес. (Прочитано 27105 раз)
OKTA
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #15 :
Декабрь 14, 2012, 12:53 »
Цитата: 0x0001 от Декабрь 14, 2012, 12:22
Цитата: OKTA от Декабрь 14, 2012, 11:56
а у меня весь проект на одном qml, всмысле интерфейс! Ни тормозов, ни каких-либо косяков!!
у меня к вам вопросы ,если можно:
1. сколько примерно состояний у компонентов с подгружаемой графикой
2. скорость обновления компонентов
3. их количество
у меня программа обслуживает Real-Time железку, при большом потоке данных - все практически виснет.
старый вариант без QML (но и графика упрощенная...) работает на ура...
анализ показал, что именно работа графическими элементами крайне медленная слишком много расходуется процессорных циклов (измерялось) - никуда не годится...
Приведи пожалуйста пример компонента с подгружаемой графикой 0_о я чего-то может не так понял))
Записан
Bepec
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #16 :
Декабрь 14, 2012, 13:01 »
Ужс. Единственное что приходит в голову- интерфейс и логика у вас криво соединены.
Записан
ctin
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #17 :
Декабрь 14, 2012, 14:20 »
Тоже работаю с real-time железками. Обнаружилось что если менять source элемента Image (10x10px) раз в 10 мс - ядро процессора съедается почти целиком. Вылечил поставив два Image, меняя opacity верхнего.
http://doc.qt.digia.com/qt/qdeclarativeperformance.html
настоятельно рекомендую.
Записан
Patrin Andrey
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #18 :
Декабрь 14, 2012, 14:31 »
Смена изображения раз в 10 мс - 100 кадров/сек. Вам столько надо?
И что вы подразумеваете под "реал-тайм железом".
Записан
Bepec
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #19 :
Декабрь 14, 2012, 17:56 »
Реалтайм, это то железо, которое может точно отсчитать мс. Т.е. микроконтроллеры. Например в винде погрешность таймера примерно 15мс, в 7 и того меньше вроде.
Записан
Patrin Andrey
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #20 :
Декабрь 14, 2012, 18:23 »
Причём тут железо. Это вообще-то от оси зависит на сколько я понимаю.
Записан
Bepec
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #21 :
Декабрь 14, 2012, 18:52 »
По секрету скажу - зависит от кварца. А кварц стоит на микросхеме. А кварц на микросхеме = железо.
Windows да и Linux не реал таймовые системы. Правда под Linux существуют порты на реалтаймовое железо.
PS возможно это сложно для понимания. Вот пример - передача данных. Реал тайм может обрабатывать каждый приходящий байт, анализировать. А не реал тайм опознаёт конец кадра только при достижении таймаута (времени, необходимому на доставку 1 байта). И только потом обрабатывает.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #22 :
Декабрь 14, 2012, 21:07 »
Цитата: ctin от Декабрь 14, 2012, 14:20
Тоже работаю с real-time железками. Обнаружилось что если менять source элемента Image (10x10px) раз в 10 мс - ядро процессора съедается почти целиком.
Даже скромный/устаревший процессор затратит на обработку 10*10 = 100 пикселей время куда меньшее 1мс (даже при наличии достаточно сложных вычислений). Поэтому если Вы применяете средства которые выжирают ресурсы системы в ноль на ровном месте - это очень плохая для них реклама, и о real-time лучше скромно промолчать в тряпочку.
Цитата: ctin от Декабрь 14, 2012, 14:20
настоятельно рекомендую.
В свете вышесказанного это совершенно неуместно, здесь не "рекомендовать" надо, а самому учиться
Цитата: Bepec от Декабрь 14, 2012, 18:52
По секрету скажу - зависит от кварца. А кварц стоит на микросхеме...
Нет, это зависит от мозгов программиста. если их нет - любые чудесные аппаратные ресурсы будут бездарно разбазарены немедленно
Записан
0x0001
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #23 :
Декабрь 15, 2012, 19:39 »
Цитата: ctin от Декабрь 14, 2012, 14:20
Тоже работаю с real-time железками. Обнаружилось что если менять source элемента Image (10x10px) раз в 10 мс - ядро процессора съедается почти целиком. Вылечил поставив два Image, меняя opacity верхнего.
http://doc.qt.digia.com/qt/qdeclarativeperformance.html
настоятельно рекомендую.
СПАСИБО за дельный совет про source, думается это и была "Ахиллесова пята" - в копилку его. в понедельник протестирую. да и ... побольше бы таких людей "знающих"!
)
...У меня кроме source ещё рисование насыщенное(линии, графики) + небольшая математика (ну проценты там посчитать, сократить разрядности, простейшие формулы типа кв. корень из суммы(вектора), среднее арифметическое, в общем тут как раз проблем не обнаружил), т.е. даю 99% что вроде с рисованием и арифметикой как-раз no problems. Еще уберу механизм "states".. чувствую что тут не гладко все.. хотя удобно (. в общем будем искать где узкое место
Цитата: ecspertiza от Декабрь 14, 2012, 12:36
я states почти не использую все данные беру из моделей. Даже если нужно обновлять состояния, редко когда бывает нужно что бы данные не зависили от моделей, но и тогда есть хранилища в которых они содержаться тогда спасает
Q_PROPERTY
и сигналы на обновление инфы в элементе.
спасибо за "states" - и у меня были подозрения! учту!!!
Цитата: Sancho_s_rancho от Декабрь 14, 2012, 12:46
Цитата: 0x0001 от Декабрь 14, 2012, 10:22
Цитата: Sancho_s_rancho от Декабрь 14, 2012, 10:17
И получите такие же тормоза в итоге.
qml сделан поверх QGraphicsView, который аппаратного ускорения в Qt4 не имеет. QGraphicsWidget также весьма нетороплив. Если вам нужен супер интерфейс, то тут либо используйте Qt5 и qml2, либо какую-нибудь иную обертку над OpenGL. В добавок вы говорите про реалтайм и у меня есть подозрения, что вы передаете в интерфейс что-то лишнее.
про "Лишнее" Спасибо! заодно обнаружил, что действительно 48 бит у меня не фильтровалось xor-ом
)) т.е. гнало все на обработку безусловно,...хотя они то как раз там NULL как влияют на графику... + поподробнее про Qt5 + QML2, уже доступно в opensource кодах? если так, перекомпилим, заценим, Очень интересно посмотреть в деле!...
Цитата: Igors от Декабрь 14, 2012, 21:07
если Вы применяете средства которые выжирают ресурсы системы в ноль на ровном месте - это очень плохая для них
ох.. ну что еще сказать.. (( будем бороться с ними
))
«
Последнее редактирование: Декабрь 15, 2012, 19:50 от 0x0001
»
Записан
Bepec
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #24 :
Декабрь 16, 2012, 10:18 »
И не используйте синий цвет в таком количестве. Глаз выедает
Записан
Patrin Andrey
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #25 :
Декабрь 16, 2012, 22:05 »
Цитата: Bepec от Декабрь 14, 2012, 18:52
По секрету скажу - зависит от кварца. А кварц стоит на микросхеме. А кварц на микросхеме = железо.
Windows да и Linux не реал таймовые системы. Правда под Linux существуют порты на реалтаймовое железо.
PS возможно это сложно для понимания. Вот пример - передача данных. Реал тайм может обрабатывать каждый приходящий байт, анализировать. А не реал тайм опознаёт конец кадра только при достижении таймаута (времени, необходимому на доставку 1 байта). И только потом обрабатывает.
По секрету скажу, что 15 мс в винде получаются вовсе не от аппаратной части.
И скажите мне при вашем подходе x86 это "реал-тайм" железо или нет? И как на одном и том же железе могут сущществовать реал-тайм оси и не реал-тайм оси?
ПС. всё флудить заканчиваю, особенно с вересом.
Записан
Bepec
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #26 :
Декабрь 16, 2012, 22:29 »
Вересом
Хотя не суть, показывает лишь ваше воспитание
x86 не реалтайм, насколько я знаю. Ибо там одно только взаимодействие между модулями съедает довольно много времени.
И да,
Цитата: Patrin Andrey от Декабрь 16, 2012, 22:05
По секрету скажу, что 15 мс в винде получаются вовсе не от аппаратной части.
, представь себе я это и хотел до тебя донести
Это проблема системы.
PS хотел бы я посмотреть на реалтаймовую систему Windows
Записан
vregess
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #27 :
Декабрь 16, 2012, 22:43 »
Цитата: Bepec от Декабрь 16, 2012, 22:29
PS хотел бы я посмотреть на реалтаймовую систему Windows
Смотри сколько влезет:
IntervalZero’s RTX
(бывшая VenturСom). Система жесткого реального времени.
Записан
ctin
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #28 :
Декабрь 17, 2012, 13:39 »
ой...
Отвечаю по порядку:
Patrin Andrey: программа с такой частотой опрашивает железку. На RX и TX стоят картинки. Вот и получается 10мсек.
Bepec: я имел ввиду что всё время мониторю состояние прибора. Конечно тру реал-тайм тут не причем. (QNX буду подключать через годик
)
Igors: есть факт - с привязанными source двух картинок на rx и tx соответственно процессор сжирается почти полностью. С привязанной opacity - в два раза экономнее. Когда появится время - сделаю вообще простенький виджет с кружочком и paintEvent.
И вообще - речь шла не о релиз-версии, а о том как я
учусь
использовать qml.
«
Последнее редактирование: Декабрь 17, 2012, 13:41 от ctin
»
Записан
lighting
Гость
Re: qml:: вердикт по опыту эксплуатации 6 мес.
«
Ответ #29 :
Декабрь 17, 2012, 17:26 »
ctin
кто у вас сможет воспринимать информацию столь динамично меняющуюся?
Если информация меняется так часто возможно есть смысл показывать ее реже. К чему 100500 миллионов кадров в секунду если человек все равно ничего понять в таком мельтешении не сможет. Можно записывать ее куда-нибудь в файл, чтобы потом просмотреть, а вот в реалтайме все вываливать врядли разумно. Ну и во вторых под такую узкосепциализированную задачу можно и свой компонент на C++ написать, используя для ускорения графики хоть openGL.
Записан
Страниц:
1
[
2
]
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...