Russian Qt Forum
Ноябрь 23, 2024, 08:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2 3 4   Вниз
  Печать  
Автор Тема: qml:: вердикт по опыту эксплуатации 6 мес.  (Прочитано 27141 раз)
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.138 секунд. Запросов: 23.