Релиз фреймворка Qt 5.9
31 мая 2017 года
После полугода разработки представлен релиз кроссплатформенного фреймворка Qt 5.9, который причислен к категории LTS-выпусков, обновления для которых выпускаются в течение трёх лет. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3.
Основные изменения:
- В модуле Qt GUI реализован кэш шейдеров, в котором могут сохраняться скомпилированные шейдеры OpenGL для последующего повторного использования. Добавлена поддержка вычислительных шейдеров
(Compute Shaders). В движок отрисовки через OpenGL добавлена возможность работы с профилями OpenGL Core;
- Продолжено усовершенствование модуля Qt 3D, который уже можно рассматривать как полнофункциональный 3D-движок. Добавлена поддержка интеграции Qt Quick в сцены Qt 3D для представления двумерных интерфейсов в трёхмерном окружении. Также имеется обратная возможность интеграции трёхмерной сцены в двухмерный интерфейс на базе Qt Quick. Добавлены два новых материала QMetalRoughMaterial и QTexturedMetalRoughMaterial, а также новый тип освещения QEnvironmentLight, при отрисовке которых используются реалистичные алгоритмы PBR (Physics Based Rendering). В Qt 3D Animation добавлена поддержка анимации по ключевым кадрам с интерполяцией промежуточных кадров на основе кривых Безье. Добавлены новые компоненты QLevelOfDetail и QLevelOfDetailSwitch, позволяющие управлять уровнем детализации рендеринга, варьируя между скоростью и качеством. Добавлен класс QExtrudedTextGeometry для трёхмерной отрисовки текста;
- В движок JavaScript и QML добавлен новый сборщик мусора, обеспечивающий более высокую производительность и снижающий фрагментацию памяти. Внесены дополнительные оптимизации, заметно поднявшие производительности JavaScript-движка;
- Представлена новая инфраструктура кэширования QML, поддерживающая два режима: создание бинарного кэша для QML-файлов при первом запуске приложения и упреждающее формирование кэша скомпилированных компонентов QML на этапе сборки программы;
- В состав модуля Qt Core включено два новых класса: qfloat16 для манипуляции 16-разрядными числами с плавающей запятой, позволяющий улучшить совместимость с API, связанными с GPU; QOperatingSystemVersion для определения операционной системы и версии запущенного приложения;
- В модуль Qt Network добавлена поддержка протокола HSTS (HTTP Strict Transport Security), позволяющего владельцам сайтов указать о необходимости использования шифрованного соединения и определить правила для переброса на соответствующую HTTPS-область;
- В модуль Qt NFC добавлена серия улучшений, специфичных для платформы Android;
- В модуль Qt Web Sockets добавлена возможность использования внешних TCP-сокетов;
- В Qt Bluetooth обеспечена поддержка платформы WinRT и появились средства для управления периферийными устройствами Bluetooth в Android;
- В Qt Quick задействован новый кэш шейдеров OpenGL, реализованный в Qt GUI. Также представлен специальный обработчик для обеспечения совместного использования данных изображений между разными процессами и новый бэкенд OpenVG, позволяющий организовать работу на оборудовании, поддерживающем только 2D-ускорение;
- Проведена большая работа по повышению стабильности и производительности Qt Quick Controls 2, добавлена поддержка мультитач;
- Модуль Qt Location добавлена поддержка наклонных проекций и вращения карт, управляемых через API или экранные жесты. Добавлен новый плагин для работы с Mapbox, использующий для отрисовки движок на базе OpenGL;
- Qt Webengine обновлён до кодовой базы Chromium 56;
- В виртуальной клавиатуре появилась поддержка смены раскладки;
- Представлен новый экспериментальный модуль Qt Remote Objects (Архивная копия от 28 января 2020 на Wayback Machine) с реализацией механизма межпроцессного взаимодействия;
- Добавлена поддержка новых платформ QNX 7.0 и INTEGRITY RTOS;
- Добавлена поддержка сборки Qt в режиме оптимизации размера "-Os", позволяющая сократить размер исполняемых файлов приложений и библиотек на 5-20%. Внесены улучшения в систему Qt Lite, позволяющую формировать урезанные сборки, включающие только необходимую функциональность;
- Внесена большая порция улучшений в Qt Wayland Compositor, многопоточную систему отрисовки для встраиваемых устройств, использующую протокол Wayland.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.