Доступен (http://blog.qt.io/blog/2015/05/15/qt-5-5-beta-released/) для тестирования бета-выпуск кроссплатформенного фреймворка Qt 5.5 продолжившего развитием ветки Qt 5.x. При подготовке Qt 5.5 основное внимание было уделено повышению стабильности и оптимизации производительности. При этом не обошлось и без добавления давно ожидаемой функциональности, такой как модули Qt 3D и Qt Location.
Основные новшества (http://qt-project.org/wiki/New-Features-in-Qt-5.5):
- В состав включен модуль Qt 3D (http://doc-snapshots.qt.io/qt5-5.5/qt3d-index.html), предоставляющий (http://www.kdab.com/overview-qt3d-2-0-part-1/) высокоурвневый C++ и QML API для интеграции в приложения средств для работы с 3D-графикой. Предлагается достаточно широкий набор средств, включая методы для 2D- и 3D-рендеринга, работы с мешами и материалами, трансформации, симуляции физических процессов, наложения звуковых эффектов и т.п.Поддерживается вывод с использованием OpenGL 2/3/4 и OpenGL ES 2/3. Qt 3D доступен для платформ Windows (не RT), OS X, Linux xcb, Android, и Embedded Linux. Также полностью реализован модуль Qt Canvas 3D, предоставляющий WebGL-подобный JavaScript API для 3D-рендеринга в Qt Quick;
<center><a href="http://www.kdab.com/wp-content/uploads/stories/ecs-2.png&quo... src="http://www.opennet.me/opennews/pics_base/0_1431720637.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>- Новый модуль Qt Location, в котором реализованы средства для определения местоположения, построения маршрутов и работы с картами. Из картографических сервисов в настоящее время поддерживаются Nokia Here, Mapbox и Openstreetmap;
- Переведены в разряд устаревших модули Qt WebKit, Qt Declarative (Qt Quick 1) и Qt Script. Данные модули пока входят в состав Qt, но разработчикам настоятельно рекомендуется перевести свои приложения на актуальные подсистемы, такие как Qt WebEngine и Qt Quick 2.- В модуле Qt Bluetooth обеспечена полноценная поддержка спецификации Bluetooth Low Energy;
- В реализацию языка QML добавлена поддержка типизированных массивов и классов;
- Набор виджетов Enterprise Controls интегрирован в базовый состав Qt Quick Controls и теперь доступен в том числе и в Community-версии. Также добавлен виджет TreeView, позволяющий группировать другие виджеты в древовидном представлении;
- В модуле Qt Multimedia осуществлён переход на использование по умолчанию GStreamer 1.0 в Linux. Добавлен новый фреймворк для создания видеофильтров, поддерживающий интеграцию элементов VideoOutput с OpenCL или CUDA;
- Браузерный движок Qt WebEngine обновлён до кодовой базы Chromium 40. Добавлены новые API для управления загрузкой файлов, кэшем, cookie и настройками. Встроена поддержка Qt WebChannel;
URL: http://blog.qt.io/blog/2015/05/15/qt-5-5-beta-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=42242
Qt WebEngine или blink, что больше жрёт ОЗУ?
да.
Он прав.
И всё же - нет.
А если не врать?!
Есть свободная ОЗУ, а если найду?
больше зависит от конкретного javascript приложения. На helloworld с парой кнопок потребление около 20МБ у всего бинаря. Несколько табов и какая-нидь логика в angularjs - возле 100-150.Проблема в том что Qt выходит реже чем хром и можно нарваться на локальные баги хрома с webgl или производительностью. При этом в CEF3 или electron.atom.io эти проблемы решаются частыми релизами.
>В реализацию языка QML добавлена поддержка типизированных массивов и классов;Это как? Где пример можно найти?
Qt прикольная штука, но на мой взгляд самое хорошее -- QtCreator.
Я уже несколько лет пользуюсь им как IDE и до сих пор тащусь.
И это при том, что сам Qt я знаю очень плохо и почти им не пользуюсь. Пишу на плюсах.
>> ... сам Qt я знаю очень плохо и почти им не пользуюсь. Пишу на плюсах.а какого рода программы пишете, если не секрет?
Да всё подряд, но в основном это игрушки или около того.
я в статье про ClanLib задал вопрос, но до сих пор никто не ответил, поэтому повторю здесь: на какие известные библиотеки/фреймворки стоит смотреть начинающему игроделу (c++ приветствуется)?
Да вот на Qt и смотри если уж так хочется фреймворк.
Но я рекомендовал бы использовать Qt для получения GL-контекста и для обработки событий ввода-вывода, а всё остальное писать на плюсах без всякой Qt-специфики.
> Но я рекомендовал бы использовать Qt для получения GL-контекста и для обработки событий ввода-вывода, а всё остальное писать на плюсах без всякой Qt-специфики.После таких "рекомендаций" понятно, почему простейшее приложение жрет как целая система.
Для озвученных задач вполне достаточно GLFW, исходники которой весят меньше 500KB (у Qt - 305MB).
> Для озвученных задач вполне достаточно GLFW, исходники которой весят меньше 500KB (у Qt - 305MB).Да-да. И все библиотеки Qt нужно обязательно использовать в OpenGL, включая доки.
>> Для озвученных задач вполне достаточно GLFW, исходники которой весят меньше 500KB (у Qt - 305MB).
> Да-да. И все библиотеки Qt нужно обязательно использовать в OpenGL,libglfw3 - 150KB, напомните сколько частей Qt нужно обязательно использовать для контекста OpenGL и сколько они весят?
> включая доки.
Так и размер glfw я привел с доками и примерами ;) Если там оставить только одну целевую платформу - останется 10-15 файлов.
> напомнитеВы себе льстите! ☺
http://doc-snapshots.qt.io/qt5-5.5/qt3d-index.html
> For a C++ application that performs 2D or 3D rendering and also handles user input, add the following line to your qmake .pro file:
> QT += 3dcore 3drenderer 3dinput$ du -sk libQt53D{Core,Renderer,Input}.so.5.5.0
316 libQt53DCore.so.5.5.0
1908 libQt53DRenderer.so.5.5.0
136 libQt53DInput.so.5.5.0Это в килобайтах, чуть более 2Мб. Немного отличается от троллячьих 305Мб, не так ли?
> $ du -sk libQt53D{Core,Renderer,Input}.so.5.5.0
> 316 libQt53DCore.so.5.5.0
> 1908 libQt53DRenderer.so.5.5.0
> 136 libQt53DInput.so.5.5.0
> Это в килобайтах, чуть более 2Мб.1. libglfw.so.3.1 108KB - то есть разница в 20 раз это нормально?
2. У меня не установлен Qt5, сам не могу проверить - покажите ldd простого Qt-OpenGL приложения. В Qt-4.8 тоже при линковке достаточно указать -lQtOpenGL, но он автоматом тянет -lQtGui и -lQtCore, достаточно заглянуть /usr/lib/pkgconfig/QtOpenGL.pc> Немного отличается от троллячьих 305Мб, не
> так ли?305MB - это архив исходников. Если наткнетесь на баг, то это начнет иметь значение. Опять же в при разработке игр, библиотеки часто модифицируют и включают в проект. Да и на кой завязываться за такую тяжелую библиотеку, если для задачи вполне достаточно библиотеки на 0.5MB?
> 1. libglfw.so.3.1 108KB - то есть разница в 20 раз это нормально?И функциональности в 200. И?
Всё равно это только пару мегабайт ОЗУ разницы (из-за которых вы подняли такой шум?)
> 2. У меня не установлен Qt5, сам не могу проверить - покажите ldd простого Qt-OpenGL приложения. В Qt-4.8 тоже при линковке достаточно указать -lQtOpenGL, но он автоматом тянет -lQtGui и -lQtCore, достаточно заглянуть /usr/lib/pkgconfig/QtOpenGL.pcqt3D и qtopengl - это две большие разницы. О чём из них вы всё-таки говорите?
qtopengl считается устаревшей и поддерживается только для совместимости http://doc-snapshots.qt.io/qt5-5.5/qtopengl-module.html
> Warning: This module should not be used anymore for new code. Please use the corresponding OpenGL classes in Qt Gui.Qt Gui сам поддерживает всё что нужно для работы с OpenGl http://doc-snapshots.qt.io/qt5-5.5/qtgui-index.html
> QWindow supports rendering using OpenGL and OpenGL ES, depending on what the platform supports. OpenGL rendering is enabled by setting the QWindow's surface type to QSurface::OpenGLSurface, choosing the format attributes with QSurfaceFormat, and then creating a QOpenGLContext to manage the native OpenGL context.зыж
> 305MB - это архив исходников.Да. И это в tar.xz! А в tar.gz АЖ 421M!!!
Ну и зачем вы его тут привели? Неумелые троллинг?
Из того же разряда - сам qt3D в сырцах http://download.qt.io/development_releases/qt/5.5/5.5.0-beta... всего лишь 7.3M
> И функциональности в 200. И?Огласите весь список!
Начальная задача была - открыть OpenGL контекс и устройства ввода. GLFW умеет это (включая различные платформы, wayland и mir).> Всё равно это только пару мегабайт ОЗУ разницы (из-за которых вы подняли
> такой шум?)Зачем тратить бесполезно память? И так уже bloatware на каждом шагу, просто из-за бездумного выбора библиотек.
>> 2. У меня не установлен Qt5, сам не могу проверить - покажите ldd простого Qt-OpenGL приложения. В Qt-4.8 тоже при линковке достаточно указать -lQtOpenGL, но он автоматом тянет -lQtGui и -lQtCore, достаточно заглянуть /usr/lib/pkgconfig/QtOpenGL.pc
> qt3D и qtopengl - это две большие разницы. О чём из них
> вы всё-таки говорите?Я привел пример для Qt-4.8. Покажите ldd для OpenGL приложения на Qt5.
> Из того же разряда - сам qt3D в сырцах http://download.qt.io/development_releases/qt/5.5/5.5.0-beta...
> всего лишь 7.3MОн самодостаточен? Может быть собран и работать без установки остальных частей Qt?
> Огласите весь список!
> Начальная задача была - открыть OpenGL контекс и устройства ввода. GLFW умеет это (включая различные платформы, wayland и mir).Офигел(и)? Это Вы привели весь объем всего Qt для подтвержения своих же слов. Вам его и перечислять.
(См. документацию. QtSql например вами также был указан)
> Зачем тратить бесполезно память?Без понятия. Вы же не определили понятия что по вашему мнению мне же и полезно.
Мне вот Qml полезен. Как предлагает это решать?
В любом случае +5-6Мб (не лишних, а с доп.функциональностью) не соразмерно вашим истеричным заявлениями.
> Он самодостаточен? Может быть собран и работать без установки остальных частей Qt?А вы даже операционной системой не пользуетесь? Ну надо же!
Или это зависомостью вами выборочно не считается?
Ну чё, круто.
У меня вот Qt установлен в 2-х версиях. Все из портежей. Всё нужно по зависимостям. Разработка только доп.бонус для меня.
> Офигел(и)? Это Вы привели весь объем всего Qt для подтвержения своих же
> слов. Вам его и перечислять.Читайте спор от самого начала.
> Но я рекомендовал бы использовать Qt для получения GL-контекста и для обработки событий ввода-вывода, а всё остальное писать на плюсах без всякой Qt-специфики.
Если вы считаете Qt в данной ситуации оправданным выбором, то дальше мне с вами говорить не о чем.
И отлично, потому что такие как вы цепляются за 5-6Мб, при этом сами шабашат на каком-нибудь Unity (потому что всё-равно скрипты нужны).
ззыж
> Покажите ldd для OpenGL приложения на Qt5cd ~/Qt5.5.0/Examples/Qt-5.5/opengl/build-qopenglwindow-Desktop_Qt_5_5_0_GCC_64bit-Release
$ ldd ./hellowindow | grep Qt5
libQt5Gui.so.5 => ../Qt5.5.0/5.5/gcc_64/lib/libQt5Gui.so.5 (0x00007fe81c03d000)
libQt5Core.so.5 => ../Qt5.5.0/5.5/gcc_64/lib/libQt5Core.so.5 (0x00007fe81b8fb000)$ du -sk lib{Qt5Gui,Qt5Core}.so.5*
6196 libQt5Gui.so.5.5.0
5372 libQt5Core.so.5.5.0
SDL2, OpenGL, GLU, GLUT, ODE, OGRE, box2d... тысячи их!
SFML, вдобавок она на c++.
кроме qt
До чего же приятно смотреть на текст, выровненный по левому краю!
Qt'ешники, остановитесь пожалуйста не на долго, дайте хоть успеть прочитать документацию то! Даже Шлее жалко, не успевает книги писать, только с 5.3 знакомить начал http://www.ozon.ru/context/detail/id/31619787/ , так в 5.5 уже плюшек новых натолкали
> Qt'ешники, остановитесь пожалуйста не на долго, дайте хоть успеть прочитать документацию
> то! Даже Шлее жалко, не успевает книги писать, только с 5.3
> знакомить начал http://www.ozon.ru/context/detail/id/31619787/ , так в 5.5 уже плюшек
> новых натолкалиЛюди, покупающие книги по линуксу вообще и по программированию/кутям в частности, остановитесь пожалуйста не на долго.
Вам дали подробнейшие, полностью открытые и бесплатные доки и сорцы, зачем вы покупаете всякий аутдейтед шлак?!
Не всегда чтение доков помогает быстро вникнуть в проблематику.Лично мне, например, еще очень помогает общение с авторами или теми кто хорошо владеет темой. Часто бывает, что и вроде пообщались только чуть чуть и только поверхностно поговорили. Но как озарение наступает, потом читать доки и сорцы намного легче становится.
В Qt не обязательно даже докит читать, в большинстве случаев достаточно глянуть на интерфейс класса.
Физическая книга удобнее (лично для меня). Доки боле удобны когда ты ищешь конкретную вещь, а если "читаешь в общем", то книга будет получше.
Основа все равно та же, а в ней плюшки меняются реже и не так глобально. Шлее же в основном базовые вещи рассказывает.
Мде, на виджеты забили вообще. Не понимают, что на них софта написано гораздо больше.
Пора их тоже переводить в разряд устаревших.
Хотел пошутить по поводу интеграции blink > web apps > QtOS, но подумав понял, что это больше похоже на "счастливое" будущее, чем на шутку :(
http://blog.qt.io/blog/2013/05/21/introducing-boot-to-qt-a-t.../
Вот только я не нашел как их быстро перевести на QML. Можно было бы поступить и иначе - в самом Qt перевести виджеты с системных на QML..., мне кажется они предоставляют оптимальный уровень абстракции если надо быстро наваять какой-то интерфейс.
Ага, через findChild и QVariant.
Вот бы еще началось "бета-тестирование" нормальных и предельно простых туториалов по отрисовке основных виджетов Qt на QML (radiobutton, checkbox, select, text, input, combobox, doublespinBox и т.д.)
> Вот бы еще началось "бета-тестирование" нормальных и предельно простых туториалов по отрисовке
> основных виджетов Qt на QML (radiobutton, checkbox, select, text, input, combobox,
> doublespinBox и т.д.)И тащить с собой js во все щели.
И это прекрасно.
Чем только firefox не угодил?
Нечего там туторить, все предельно просто. Пользуюсь qml уже 2 года в проекте, гибкость и простота просто поражают.
Прстейшие видеоуроки на ютубе, после их освоения QtQuick controlls использовать для вас будет не проблема, хотя я все-же предпочитаю чистый qml.
Круто, TreeView в QML очень порадовал. Типизированные массивы тоже. 3D не использую но тоже рад.