Seite 1 von 1

WCanvas Speed

Verfasst: 14. Oktober 2005 10:12
von diavo
Hallo, in der Doku von QT steht, dass QCanvas schneller zeichnen könne als ein normaler Painter auf einem Frame. Ich habe das getestet: Ich habe 10000 mal eine QCanvasLine zeichnen lassen und 10000 mal eine Line mit einem QPainter. Die zweite Möglichkeit war etwa doppelt so schnell, was ja der Doku widersprechen würde. Kann man da was falsch machen?
MfG Steffen

Verfasst: 14. Oktober 2005 12:48
von lepsai
Hm... Ein Canvas hat immer dann Voteile, wenn die zu zeichnende Szene sehr gross ist und nicht auf einmal gezeichnet werden soll. So macht es bei einer Linie nur dann Sinn wenn diese sehr "lang" ist. Also ist so ein Test sinnlos. Wofür willste denn ein Canvas benutzen?

Verfasst: 14. Oktober 2005 14:40
von diavo
Ich schreibe eine Art Routenplaner. Um die Strassen darzustellen wären Canvas ja ganz sinnvoll glaube ich, schon wegen der Kollisionserkennung.

Verfasst: 14. Oktober 2005 14:45
von lepsai
Hm. Straßendarstellung hätte ich über Vektorgraphik erledigt. Dann hätte man nur ein Bild anzuzeigen...

Verfasst: 16. Oktober 2005 23:08
von Uwe
diavo hat geschrieben:Ich schreibe eine Art Routenplaner. Um die Strassen darzustellen wären Canvas ja ganz sinnvoll glaube ich, schon wegen der Kollisionserkennung.
QCanvas zeichnet letzendlich natürlich auch über QPainter. Ein Vergleich QCanvas vs. QPainter ist daher eher sinnfrei.

Prinzipiell würde ich Dir raten die Finger von QCanvas zu lassen. QCanvas war sicher eine der weniger guten Ideen in Qt3 und ist nicht ohne Grund in Qt4 auch nicht mehr drin.

Mit ein bisschen Verständnis von Techniken wie Double Buffering und Pixmap Caching kommst Du mit einer Render Engine auf QPainter Basis IMHO sehr viel besser zum Ziel. Zumindest ist das meine Erfahrung aus der Implementierung von Qwt http://qwt.sf.net.

Uwe

Verfasst: 26. Oktober 2005 13:06
von RHBaum
QCanvas war sicher eine der weniger guten Ideen in Qt3 und ist nicht ohne Grund in Qt4 auch nicht mehr drin.
Ich hatte heut nen Meeting mit 2 Trolltech Mitarbeitern, die wegens Lizenspflege und Support mal bei uns auf ein "Hallo" vorbeigeschaut sind.

In deren Praesentation zum Thema QT3 und QT4 Unterschiede / Migration war aufgefuehrt, dass QCanvas die einzige Klasse waer, wo es in QT4 keine entsprechung fuer gaeb.
"We know about the usefulness for our costumer and we working on a solution for a later version "
Also sowas ind er Art wird also wohl wieder kommen ....
Und nein, wir ham da nicht gefragt nach, wir verwenden das selber sowieso auch nicht :-)

Nichtsdestotrotz wuerd ich mir auch ne lib fuer vector grafiken suchen ....

Ciao ...

Verfasst: 27. Oktober 2005 10:53
von FlorianBecker
In Qt4.1 gibt es QSVGWidget