| ||
auteur : Benjamin Poulain | ||
Graphics View est une infrastructure qui permet de dessiner des scènes 2D complexes.
Graphics View permet de:
Voici un exemple minimaliste pour montrer quelques possibilités de Graphics View.
|
| |||
auteur : Benjamin Poulain | |||
Si vous avez un problème de vitesse avec Grahics View, commencez par vérifiez que
le problème de vitesse ne se situe pas dans un de vos items. Graphics View est
extrêmement performant, il n'est pas inhabituel d'y dessiner plusieurs milliers
d'éléments (essayez la demo "chip" par exemple). Les problèmes de vitesse sont
généralement dû à un graphics item qui se dessine trop lentement, ou à des
rafraichissements abusifs.
Si le problème ne vient pas de là, vous pouvez utiliser un backend plus performant
pour dessiner. Dessiner avec les backends de la plateforme est assez lent, Qt
contourne le problème en dessinant sur un format interne optimisé. Cela peut être
configuré en ajoutant "-graphicssystem raster" ou "-graphicssystem opengl"
(expérimental dans Qt 4.5) dans les options de l'application. Notez que l'option
raster ne change rien pour Windows car c'est déjà le backend par défaut.
Si cela n'est toujours pas suffisant, il vous faut optimiser précisément votre
vue à l'aide des options de QGraphicsView.
Une première option à considérer est renderHints. Cette option permet de
configurer les paramètres du QPainter utilisé pour dessiner la scène. Si vous
utilisez l'antiAliasing par exemple, cela ralenti le dessin des items.
Un autre paramètre utile est optimizationFlags. Cette propriété permet de changer
les paramètres de bas niveau du dessin de la scène. Par exemple, concevoir les
items pour pouvoir utiliser QGraphicsView::DontSavePainterState est important si
les items sont très nombreux. À la différence des autres options, les paramètres
de optimizationFlags impliquent des effets de bords sur le rendu de la scène.
Ne changez ce paramètre que si vos items sont conçus en conséquence.
Finalement, il existe le paramètre cacheMode pour accélérer le rendu du fond de
la vue. Le cacheMode permet de demander à la vue de créer un cache pour l'image de fond.
Cette option n'est utile que si le fond est long à dessiner, par exemple s'il
s'agit d'une image, d'un dégradé ou si la transparence est utilisée.
|
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.