Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de Qt 5.6 Alpha
Avec des améliorations de performance et de nouvelles fonctionnalités pour Qt 3D et pour l'embarqué

Le , par dourouc05

31PARTAGES

10  0 
Qt 5.6 vient de sortir en préversion Alpha. Les nouveautés s’égrainent le long des divers modules, avec un grand nombre d’optimisations, notamment au niveau de la mémoire utilisée. Elles sont en grande partie dues à l’utilisation d’analyse statique du code proposée par Clang : utiliser un profileur pour toutes les exécutions possibles dans le code prendrait trop de temps pour un gain trop faible ; par contre, un analyseur statique peut passer sur tout le code et faire remarquer tous les endroits à améliorer. Il est donc très utile quand le problème de performance n’est pas localisé, mais bien réparti sur tout le code. Ce genre d’outil a une compréhension plus fine du C++ qu’un compilateur : là où le compilateur s’arrête à la syntaxe, l’analyseur statique tente de comprendre la sémantique du code (ce qu’il tente de faire) et propose de meilleures manières de l’écrire. Par exemple, un algorithme de la STL pourrait fonctionner plus vite en allouant à l’avance de la mémoire avec std::vector::reserve() ; il pourrait même réécrire automatiquement le code pour suivre les meilleures pratiques concernant QStringLiteral et QLatin1String.

Qt 3D n’est toujours pas finalisé, mais les fonctionnalités de la préversion technologique s’affinent : de nouvelles API pour les tampons et attributs, pour les entrées souris, pour la détection de collisions ; la gestion de l’instanciation, le chargement de scènes glTF (avec un outil pour les compiler : qgltf). De nouveaux exemples ont également été ajoutés.

Dans les modules, quelques changements ont eu lieu. Notamment, des modules désapprouvés par Qt 5.5 ont été supprimés (Qt WebKit et Qt Declarative, qui correspond à Qt Quick 1). De nouveaux modules sont maintenant déconseillés : Qt Script (remplacé par le moteur JavaScript V4, inclus dans Qt QML) et Qt Enginio ; ils pourraient être supprimés dans une prochaine version de Qt. De nouveaux modules font également leur apparition en tant que préversions technologiques : Qt Quick Controls 2.0, des contrôles plus légers, prévus plus particulièrement pour l’embarqué ; Qt Speech pour la reconnaissance vocale, en faisant appel aux API disponibles sur chaque système (le module est actuellement compatible avec Android, OS X et Windows) ; Qt SerialBus, pour faciliter l’accès aux nombreux bus série qui peuplent le monde de l’embarqué, actuellement compatible uniquement avec CAN ; Qt Wayland, avec une API pour le compositeur Wayland stabilisée.

Cependant, la principale avancée concerne les outils utilisés pour le développement de Qt lui-même : l’ancien moteur d’intégration continue, Jenkins, a été remplacé par un nouveau, Coin, développé exclusivement pour Qt (qui pourrait d’ailleurs être distribué sous licence propriétaire ou libre dans le futur). Ainsi, chaque modification apportée au code source de Qt est compilée (voire testée) sur vingt-cinq à trente plateformes, ce qui assure une plus grande stabilité du code.

Sources : Qt 5.6 Alpha released, How to use static analysis to improve performance, New Features in Qt 5.6.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Jbx 2.0b
Membre chevronné https://www.developpez.com
Le 16/09/2015 à 15:14
Bonjour,
Je suis assez intéressé par Qt Speech et j'aurais voulu commencer à jouer avec.
Malheureusement il semble qu'il ne soit pas dans les packages de la version alpha ? Es-ce que quelqu'un qui aurait un peu fouillé pourrait confirmer ? Merci
Sinon j'attendrais la bêta, tant pis !
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 17/09/2015 à 15:03
Sinon, tu peux aussi le compiler chez toi, ça n'est qu'un dépôt Git avec un fichier de projet qmake, rien que de l'habituel . Ça m'intéresse de savoir ce que tu en penses, n'hésite pas à faire quelques retours ici !
1  0 
Avatar de Jbx 2.0b
Membre chevronné https://www.developpez.com
Le 17/09/2015 à 22:18
Et bien en fait j'ai déjà essayé de compiler le projet QtSpeech trouvé ici avec Qt 5.5 et j'obtiens un bon lot d'erreurs. J'essayerais de vous les loguer quand j'aurais un peu plus de temps.
Et sinon dans Qt 5.6 il n'y est simplement pas inclus, en tout cas je ne l'y ai pas trouvé.
Il y a peut-être une autre solution ?
1  0 
Avatar de Jbx 2.0b
Membre chevronné https://www.developpez.com
Le 18/09/2015 à 10:55
En fait ça à l'air OK en clonant git://code.qt.io/qt/qtspeech.git.
Je ne suis pas chez moi et j'ai juste un compilateur MinGW sur un Qt 5.4 sous la main, pour l'instant j'ai le droit à un:

G:\Projects\QtSpeech\src\tts\qtexttospeech_win.cpp:42: erreur : sapi.h: No such file or directory
#include <sapi.h>
^
A priori il me manque Microsoft Speech Platform Runtime et/ou Microsoft Speech Platform SDK, je verrais ça sur ma bécane en rentrant.

EDIT pour ceux que ça intéresse:

Bon c'est ok si j'utilise comme compilo VS 2013, je n'ai accès qu'à une seule voix en anglais qui me semble un peu éloigné de ce qui se fait dernièrement (comparé à Cortana ou Ok Google -je n'ai jamais pu tester Siri-), mais ça me conviens pour l'instant. J'essayerai d'ajouter des voix plus tard.

Par contre avec MinGW, toujours le même problème, il ne trouve pas les include de la Speech API Microsoft (sapi.h entre autre).
Avec Android, plateforme qui m'intéressait avant tout, j'ai des soucis mais j'ai peut-être une piste, j'éditerais quand j'aurais fouillé un peu.
1  0 
Avatar de Jiyuu
Rédacteur/Modérateur https://www.developpez.com
Le 11/10/2015 à 11:00


Je m'intéresse de plus en plus au déploiement pour Windows. Le principal souci que je rencontre actuellement vient de WebEngine qui n'est dispo qu'avec la version MSVC 2013. Or il est assez compliqué de faire tourner cette version sur Linux via WINE, ce qui n'est pas du tout le cas avec la version MinGW.

Est possible de voir un jour WebEngine supporté par la version MinGW de Qt ? où dois-je me résoudre à utiliser une VM uniquement pour compiler mes programmes avec la version MSVC 2013 ? À moins que l'un d'entre vous est la solution pour installer cette version avec WINE ? Pour ma part, je bloque à l'installation de Visual Studio 2013 qui cherche désespérément de faire un point de restauration

++

J
1  0 
Avatar de Jiyuu
Rédacteur/Modérateur https://www.developpez.com
Le 16/03/2016 à 15:42


On peut aussi rajouter, si je ne m'abuse, l'arrivée des Qt.Labs.Controls qui doivent permettre une meilleure utilisation des Controls de QML avec les appareils mobiles, un des points qui me faisait attendre avec impatience cette nouvelle version.

Ce que je regrette le plus par contre c'est l'absence (encore) de modules permettant depuis QML d'écrire ou générer des fichiers de formats "standards" : texte, pdf, odt, ods, ... Il faut encore passer par du pur C++ et je trouve ça dommage.

Mais ça viendra j'en suis sûr, tout comme la présence, un jour peut-être, d'une visionneuse PDF simple, mais si l'emploi de pdfjs l'est assez .

++

J
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 16/03/2016 à 17:31
Citation Envoyé par Jiyuu Voir le message
On peut aussi rajouter, si je ne m'abuse, l'arrivée des Qt.Labs.Controls qui doivent permettre une meilleure utilisation des Controls de QML avec les appareils mobiles, un des points qui me faisait attendre avec impatience cette nouvelle version.
C'est une préversion, pour le moment : la version finale arrive très bientôt, avec Qt 5.7 http://qt.developpez.com/actu/96855/...ciaux-liberes/.

Pour la génération de documents, tu peux très bien porter une bibliothèque vers Qt Quick . Comme KD Reports ou QtRPT. Le principe du logiciel libre, c'est que n'importe qui peut contribuer aux fonctionnalités — à condition certes d'avoir le temps .
1  0 
Avatar de kipy4
Membre du Club https://www.developpez.com
Le 17/03/2016 à 13:06
C'est cool, je l'attendais avec impatience, surtout pour le support de VS2015.

Dommage que l'extension soit pas encore dispo cela dit, va falloir encore attendre un peu même si on a pas de date..
1  0 
Avatar de Jbx 2.0b
Membre chevronné https://www.developpez.com
Le 10/06/2016 à 14:04
C'est tout un ensemble de petits problèmes qui nous gâchent la vie sur notre projet. Par exemple la version 5.5.1 s'emmêlait les pinceaux lorsqu'on switch de shader (les changements de la propriété fragmentShader ne sont pas prit en compte). On portait nos espoirs sur la 5.6, qui résout le problème mais introduit un bug de ralentissement lorsqu'on resize nos fenêtres QML, très gênant (et qui n'existait pas en 5.5.1) et pas résolu en 5.6.1. Toutes versions confondues, le plein écran Qml-OpenGL est instable dès qu'on bascule sur une autre application (Alt+Tab): L'écran devient blanc, et il est souvent impossible de reprendre le contrôle de l'application. On est donc passé sous Angle qui sur pas mal de config crache des tonnes de log sur la console. On a donc finit par développer avec OpenGL en fenêtré et livrer en plein écran Angle (pratique!).
Et on a aussi des crashs inopinés en quittant les applications, avec le message suivant : "External WM_DESTROY received for QQuickWindow"
Et pour finir le problème que j'explique plus haut, introduit avec la 5.6.1, qui la rend parfaitement inutilisable, avec ce genre de message "Unable to assign StatusIndicator_QMLTYPE_169 to StatusIndicator_QMLTYPE_195".

Ce qui m'inquiète le plus, c'est que sur le blog de Qt, on voit que beaucoup d'autres gens semblent déçus
1  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 01/07/2016 à 15:42
Citation Envoyé par LittleWhite Voir le message
Le NDK va chercher à stripper les .a avant de les mettre dans l'APK. Par contre, il va fail (et on voit le message d'erreur dans la console de compilation) car un des fichiers (source ou destination) existe. Du coup, le bon fichier n'est pas créé et il ne sera pas dans l'APK. L'application ne se lancera pas.
Ce problème me le fait plus (mise à jour du NDK, je pense).
1  0