Russian Qt Forum
Июля 01, 2025, 20:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3 4   Вниз
  Печать  
Автор Тема: qml:: вердикт по опыту эксплуатации 6 мес.  (Прочитано 28436 раз)
0x0001
Гость
« : Декабря 14, 2012, 10:10 »

Людям, предполагающим использовать QtDeclarative (QML на Windows), предостерегаю, что по мере разрастания интерфейса и кол-ва элементов, скорость катастрофически деградирует + наблюдается зависимость от hw части, а также версии локализации Windows (напр. на китайских виндах наблюдались  множество ошибок в рисовании даже не текстовых элементов)
соответственно, я пересмотрел мои изначальные мытарства:
http://www.prog.org.ru/topic_22771_0.html
и будет все переделываться на QStyle+QGraphicsWidget+QAbstractAnimation, без использования Языка QML.
возможно, потестирую QSS скрипты...
старый проект, использовал именно это и все работало на совершенно любых машинах, на Азиатских языках.
Записан
Sancho_s_rancho
Гость
« Ответ #1 : Декабря 14, 2012, 10:17 »

И получите такие же тормоза в итоге.
Записан
0x0001
Гость
« Ответ #2 : Декабря 14, 2012, 10:22 »

И получите такие же тормоза в итоге.
why?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Декабря 14, 2012, 10:42 »

А не рассматривался такой вариант что qml код не совсем корректно написан и его можно оптимизировать ? В приложениях тоже частенько использую qml и в больших и маленьких, проблем пока не наблюдал, за счет тех, где либо не верная архитектура либо кривопись Улыбающийся
Записан
mutineer
Гость
« Ответ #4 : Декабря 14, 2012, 11:05 »

А не рассматривался такой вариант что qml код не совсем корректно написан и его можно оптимизировать ? В приложениях тоже частенько использую qml и в больших и маленьких, проблем пока не наблюдал, за счет тех, где либо не верная архитектура либо кривопись Улыбающийся

Кстати да, QML очень легко написать таким образом, что рисоваться все будет корректно, но сам код будет сильно далек от оптимальности. У нас поначалу в QML коде такой ужас был, что страшно вспомнить
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #5 : Декабря 14, 2012, 11:09 »

Я вот тоже об этом пишу, потому как натыкались на эти грабли Улыбающийся
Записан
OKTA
Гость
« Ответ #6 : Декабря 14, 2012, 11:56 »

а у меня весь проект на одном qml, всмысле интерфейс! Ни тормозов, ни каких-либо косяков!! И без лишних заморочек добавлять что-то новое можно, а главное быстро!! Не могу понять, где нашли медленную скорость! И все косяки, замеченные мной при запуске на разных машинах(всмысле разных ОС), проявлялись только в шрифтах!! СОглашусь, конечно, что код в qml на монстра становится похож в больших объемах, но лично меня не пугает - всегда легко разобраться!
Записан
OKTA
Гость
« Ответ #7 : Декабря 14, 2012, 12:03 »

о! и + какие неимоверные цацочки-пецочки можно накрутить красивые))) Жду не дождусь, когда можно будет под iphone и ipad собирать))
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Декабря 14, 2012, 12:14 »

А не рассматривался такой вариант что qml код не совсем корректно написан и его можно оптимизировать ? В приложениях тоже частенько использую qml и в больших и маленьких, проблем пока не наблюдал, за счет тех, где либо не верная архитектура либо кривопись Улыбающийся

Кстати да, QML очень легко написать таким образом, что рисоваться все будет корректно, но сам код будет сильно далек от оптимальности. У нас поначалу в QML коде такой ужас был, что страшно вспомнить
Я вот тоже об этом пишу, потому как натыкались на эти грабли Улыбающийся
ну и где же учебные статьи как делать правильно? Подмигивающий
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
0x0001
Гость
« Ответ #9 : Декабря 14, 2012, 12:22 »

а у меня весь проект на одном qml, всмысле интерфейс! Ни тормозов, ни каких-либо косяков!!

у меня к вам вопросы ,если можно:
1. сколько примерно состояний у компонентов с подгружаемой графикой
2. скорость обновления компонентов
3. их количество
у меня программа обслуживает Real-Time железку, при большом потоке данных - все практически виснет.
старый вариант без QML (но и графика упрощенная...) работает на ура...
анализ показал, что именно работа графическими элементами крайне медленная слишком много расходуется процессорных циклов (измерялось) - никуда не годится...
« Последнее редактирование: Декабря 14, 2012, 12:33 от 0x0001 » Записан
mutineer
Гость
« Ответ #10 : Декабря 14, 2012, 12:30 »

ну и где же учебные статьи как делать правильно? Подмигивающий

В документации примеры, учебные статьи и рекомендации как делать правильно. Я, имхо, ничего нового туда привнести не смогу
Записан
0x0001
Гость
« Ответ #11 : Декабря 14, 2012, 12:31 »

А не рассматривался такой вариант что qml код не совсем корректно написан и его можно оптимизировать ? В приложениях тоже частенько использую qml и в больших и маленьких, проблем пока не наблюдал, за счет тех, где либо не верная архитектура либо кривопись Улыбающийся
рассматривался и делался анализ сопоставления простейших функций - изменение состояния графического эл-та.
qml: по изменению qml свойства states, меняется графика
через painter: тоже самое
qml показал существенно более низкую скорость (мерялась системным таймером nsec)!
Хотя.. в qml есть множество способов, возможно states является вообще медленным из-за больших внутренних  "перевызовов"...
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #12 : Декабря 14, 2012, 12:36 »

я states почти не использую все данные беру из моделей. Даже если нужно обновлять состояния, редко когда бывает нужно что бы данные не зависили от моделей, но и тогда есть хранилища в которых они содержаться тогда спасает

Q_PROPERTY

и сигналы на обновление инфы в элементе.
Записан
Sancho_s_rancho
Гость
« Ответ #13 : Декабря 14, 2012, 12:46 »

И получите такие же тормоза в итоге.
why?
qml сделан поверх QGraphicsView, который аппаратного ускорения в Qt4 не имеет. QGraphicsWidget также весьма нетороплив. Если вам нужен супер интерфейс, то тут либо используйте Qt5 и qml2, либо какую-нибудь иную обертку над OpenGL. В добавок вы говорите про реалтайм и у меня есть подозрения, что вы передаете в интерфейс что-то лишнее.
Записан
Patrin Andrey
Гость
« Ответ #14 : Декабря 14, 2012, 12:50 »

Если винда, то x86? можно код qml, который на х86 будет тормозить?
Если есть проблемы сделать что-то на qml, то никто не мешает встроить нативный виджет с любым функционалом.
PS. под винду на qml не пишу, может есть какие-то особенности, но с чего бы вдруг:)
Записан
Страниц: [1] 2 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.029 секунд. Запросов: 20.