Project

General

Profile

Bug #954

chat log is redrawn on every mouse move event resulting in high CPU load

Added by Toni almost 14 years ago. Updated almost 14 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
04/26/2010
Due date:
% Done:

100%

Estimated time:
Version:
0.6-pre
OS:
Any

Description

When you move the mouse cursor over the right column of the chat log, the hovered line is redrawn on every move without changing the look, which results in high CPU load. This does not occur in the time and the nick column.

Steps to reproduce:
  • activate the kwin-effect which highlights redrawn areas (in German: “Extras”/“Zeichnungsbereiche hervorheben”); alternatively just watch the current CPU load
  • move the mouse over the right column of the chat log

This problem is not bound to version 0.6.1 of quassel, I also noticed it in earlier versions.

My System:
  • Linux udo 2.6.31-gentoo-r10 #1 SMP PREEMPT Mon Mar 15 23:32:12 CET 2010 x86_64 Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz GenuineIntel GNU/Linux
  • Qt: 4.6.2
  • KDE: 4.4.2 (KDE 4.4.2)
  • Quassel IRC: v0.6.1 (dist-611ebcc)
  • Gentoo Use flags: (X) (-ayatana) (dbus) (-debug) (kde) (monolithic) (phonon) (-postgres) (server) (ssl) (webkit) Build Options: -trace

Associated revisions

Revision 77176474 (diff)
Added by Manuel Nickschas almost 14 years ago

Cache ChatLine layout data for visible chatlines

Up to now, we've computed e.g. the text layout for a chatline on the fly. This
happens surprisingly often, for example whenever the mouse is moved. As a result,
moving the mouse (among other things) caused high CPU load.

We now cache such data within the chatitems until the chatline goes out of view, in
which case the cache is cleared in order to not waste space needlessly.

Fixes #954.

History

#1 Updated by Sputnick almost 14 years ago

  • Status changed from New to Assigned
  • Assignee set to Sputnick
  • Target version set to 0.7.0
  • % Done changed from 0 to 20

Known bug, will be fixed by caching the visible layouts. Work in progress.

#2 Updated by Sputnick almost 14 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 20 to 100

Also available in: Atom PDF