IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Améliorer les performances de Qt lors du rendu avec plus de SIMD
Un article de Benjamin Poulain traduit par Thibaut Cuvelier

Le , par dourouc05

0PARTAGES

3  0 
Tout le monde sait que tout framework, toolkit et langage plus récent que le C dispose de sa propre classe de chaîne de caractères. Certains disent même qu'il s'agit d'une fonctionnalité du langage C que de ne pas disposer d'un tel type, le gardant ainsi simple et effilé. D'autres en parlent comme d'un inconvénient, leur permettant de bomber la poitrine et de faire tomber les débutants dans le piège de la comparaison de chaînes avec == au lieu de strcmp().

Qt et les chaînes de caractères : la théorie des chaînes

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

Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 11/04/2011 à 14:44
Avec les deux dernières versions de Qt, les performances ont été invariablement améliorées. Qt 4.5 a introduit les systèmes graphiques sous forme de plug-ins et de nombreuses améliorations de rendu. Qt 4.6, lui, ne s'est pas focalisé et les performances sur les systèmes embarqués n'ont cessé de s'améliorer avec chaque version de patch.

Le problème avec ces accélérations est qu'on tombe à court de voies d'amélioration pour la prochaine itération. Nous avons jeté un coup d'œil pour de nouvelles zones d'amélioration et, une fois de plus, Qt 4.7 sera plus rapide que ses prédécesseurs.

Qt et les chaînes de caractères : améliorer les performances lors du rendu avec plus de SIMD
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 12/04/2011 à 14:00
Inspiré par le travail de Benjamin, Samuel et d'autres avec SIMD, profitant de l'opportunité d'apprendre le sujet directement avec les ingénieurs d'Intel, qui connaissent le sujet mieux que quiconque, j'ai décidé de mettre les mains dans le cambouis et de faire aussi un peu de SIMD, après quelques heures de travail. Puisque je ne comprenais pas les bases des modes de composition, de fondu ou de rendu, j'ai décidé de tenter ma chance sur quelque chose de compréhensible : QtCore.

Qt et les chaînes de caractères : améliorer les performances des chaînes avec SIMD... ou pas
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 14/04/2011 à 8:37
La semaine dernière, j'ai eu deux jours assez ennuyants, j'ai donc, pour me motiver, décidé de passer du temps à mon activité favorite : regarder le code assembleur (non, je n'ai pas de vie). Je le fais généralement pour voir comment le compilateur a optimisé certaines portions de code. Par ce biais, on peut découvrir de nouvelles choses et des sources d'améliorations potentielles. Cette semaine-là, j'ai appris quelque chose.

Qt et les chaînes de caractères : chaînes et SIMD, la revanche (de Latin1)
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 14/04/2011 à 8:37
La dernière fois, nous avons attaqué le problème de la conversion de Latin1 (ISO-8859-1) en UTF-16 pour les QString. Cependant, la plupart des caractères des expressions littérales en code C++ sont en fait en ASCII, un sous-ensemble de Latin1, qui a la conversion la plus facile vers UTF-16. Les performances de cette opération nous importent donc.

Qt et les chaînes de caractères : QString et Unicode, optimisation de QString::fromUtf8
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 20/04/2011 à 20:56
La dernière fois, nous avons arrêté nos expérimentations sur la faisabilité de remplacer le codec Latin1 par défaut par UTF-8. Le texte prévu était plus long, mais a été raccourci pour se concentrer sur le code et les performances, sans tenir compte du contexte, des raisons, des détails.

Qt et les chaînes de caractères : UTF-8, Latin1 et charsets
1  0