Как увеличить производительность Qt Quick и QML?
==================================================

 Здравствуйте. Выбираю, какую технологию использовать при написании кроссплатформенного десктопного приложения. Выбор пал на Qt, но не знаю, что использовать - Qt Widgets или Qt Quick.  
  
**Qt Widgets.** *Плюсы:* отличная скорость запуска и работы. *Минусы:* начинающая устаревать технология, неудобный формат.  
**Qt Quick.** *Плюсы:* достаточно новая технология, просто замечательный формат **QML**, его хочется использовать. *Минусы:* медленная скорость запуска и такая же перерисовка окна. Запуск пустого проекта и попытка изменить размер окна делает моим глазам больно.  
  

Что же выбрать? Можно ли улучшить производительность проекта на Qt Quick? 

 Можно увеличить скорость запуска покупкой платной версии с компилятором у Digia. С перерисовкой проблем не видел, может быть вопрос в вашем видеодрайвере/окружении?   
  

Вообще выбор зависит от задач и типа приложения, потому область применения Widgets с Quick пересекается на самом деле не так уж сильно. 

 Улучшить производительность проекта на Qt Quick / QML можно. Единый рецепт улучшения дать сложно, т.к. это зависит от многих факторов, которые не ясны из вопроса. Начиная от окружения и решаемой задачи, так и версии Qt. Некоторые из старых проблем производительности QML в Qt уже решены и советы по ним будут не актуальны.  

Общие советы:  

 - не перегружать QML логикой (QML отвечает только за представление, все остальное надо делать в С++)  

 - не использовать тяжеловесные картинки(мегабайтная картинка будет тормозить) и некорректный размер (будут уходить ресурсы на пересчет)  

 - не использовать большого пересечения разных цветных областей (лучше положить готовую картинку, нежели отрисовывать ее слоями с разной прозрачностью, градиентами и т.д.)  

 - ....  
  

Например [вот так](https://forum.qt.io/topic/16770/speed-up-loading-of-qml) делать не надо - конечно будут проблемы на старте.  
  

> медленная скорость запуска и такая же перерисовка окна.

  

На какой системе и с какими параметрами происходит запуск? Честно говоря выглядит странно, т.к. QML нормально отрабатывает и на мобильных устройствах и на embeded, а тут так понимаю desktop...  
  

> Выбираю, какую технологию использовать при написании кроссплатформенного десктопного приложения. Выбор пал на Qt, но не знаю, что использовать - Qt Widgets или Qt Quick

  

Если нужны стандартные десктопные приложения со стандартными элементами, то Qt Widget будет удобнее.