2010-07-08 22 views
2

J'ai une application écrite en C++ en utilisant Qt4.4.3 sous Linux. En faisant un peu de benchmarking, je crée un grand nombre de rectangles et compare la différence de performance du dessin de différents styles de lignes. La pire performance est le style de ligne "pointillé", le style de ligne "pointillé" est beaucoup plus rapide.Est-il normal que les performances du style "pointillé" soient beaucoup plus lentes que celles du style "pointillé"?

Il me semble que ceux-ci ne devraient pas varier beaucoup.

Est-ce que ce comportement attendu ou un bogue devrait être signalé?

Quelques détails:

J'ai créé 100K rectangles en utilisant les commandes pseudo Tcl suivantes:

for {set i 0} {$i < 100000} {incr i} { 
    RectCreate [Box [expr 0.001 * $i] 0 [expr 0.001 * ($i + 1)] 100] 
} 

Les rectangles ont seulement leur contour tracé. J'ai mesuré le temps de redessiner pour différents styles de lignes. Par exemple. pour « points » lineStyle:

Voici les temps que j'ai vu avec affichage VNC:

solid line:  0.7 sec 
dots:   17.0 sec 
dashed:   9.5 sec 
longer dashes: 5.7 sec 

Et sur un affichage local:

solid line:  0.1 sec 
dots:   8.9 sec 
dashed:   5.7 sec 
longer dashes: 3.5 sec 
+2

Il est parce qu'ils doivent tirer tous ces points supplémentaires ... juste une blague, désolé. :) – Faisal

+1

Je serais curieux de voir quelques chiffres/métriques, ou éventuellement un morceau de code qui nous permet de le reproduire. – FrustratedWithFormsDesigner

Répondre

2

La pile graphique est beaucoup trop complexe pour un facile répondre. Les choses qui peuvent être «intuitives» fonctionneront complètement différemment dans la pratique.

Pas une réponse, mais je vous suggère de jeter un oeil à ce blog pour avoir un aperçu des graphiques Qt/KDE et comment les choses ne sont pas aussi évidentes qu'elles en ont l'air.

http://zrusin.blogspot.com/search?q=performance