Seite 1 von 1

QGraphicsItemAnimation + acceptHoverEvents: performance?

Verfasst: 21. März 2010 17:31
von -=Freaky=-
hi,

ich habe eine QGraphicsItemAnimation mit einem relativ geringen updateInterval von 15ms (->ca. 66 fps).
diese laeuft wunderbar, fluessig, ohne probleme. (ein QGraphicsEllipseItem wird mit eigener easingCurve bewegt)

nun soll diese aber an versch. stellen ablaufen, wozu ich das hoverMoveEvent in meinem parent-QGraphicsRectItem brauche.
sobald ich aber setAccepHoverEvents(true) aufrufe, ohne selbst ein hoverXYZEvent zu reimplementieren, stockt die animation bei jeder mausbewegung, bei kontinuierlicher bewegung des mauszeigers im item bleibt sie einfach stehen.

momentan wird die animation im mouseMoveEvent "ausgeloest" (je nach koordinaten des events an anderer stelle ausgefuehrt).
das klappt allerdings nur bei gedrueckter maustaste, dann allerdings sehr gut.
auch wenn ich dauerhaft die (irgendeine) maustaste gedrueckt halte und die maus im item rumbewege, laeuft die animation zu jedem zeitpunkt sehr fluessig.
wenn ich das alles so lasse und nur setAccepHoverEvents(true) ausfuehre, wie gesagt, stockt alles wie nichts gutes, sobald keine maustaste mehr gedrueckt ist.

ich hoffe, das problem ist klar, ansonsten nochmal fragen.
QGraphicsItemAnimation mit updateInterval 15ms laeuft alles andere als fluessig, sobald parentItem.acceptHoverEvents() == true.

hat vllt. jemand eine idee, wie ich das aendern kann, oder auch auf die hoverEvents verzichten (was ich nicht glaube), und trotzdem auf mouseMove ohne gedrueckte maustaste reagieren kann?

vielen dank schonmal!

mfg,
julian

Verfasst: 21. März 2010 18:07
von upsala
Ist dieses kurze Update-Interval wirklich notwendig? Wie sieht die Systemlast generell aus, wenn so oft aktualisiert wird?

Verfasst: 22. März 2010 11:28
von -=Freaky=-
upsala hat geschrieben:Ist dieses kurze Update-Interval wirklich notwendig? Wie sieht die Systemlast generell aus, wenn so oft aktualisiert wird?
also meine animation sah erst bei < 20ms vernuenftig aus (kein stocken/flackern).
die systemlast habe ich mir auch schon angesehen, speicherauslastung war immer unveraendert und cpu-last auch nicht besonders hoch, im durchschnitt vllt. 3-7 % insgesamt (zwar auf nem quadcore, aber trotzdem nicht viel hoeher als ohne dieses programm).

mfg,
julian