[Kde-pim] Review Request 125153: Optimize MessageList painting by always using system font and only allowing bold and italics customization

Daniel Vrátil dvratil at kde.org
Wed Sep 16 13:53:07 BST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125153/
-----------------------------------------------------------

(Updated Sept. 16, 2015, 12:53 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDEPIM and Laurent Montel.


Changes
-------

Submitted with commit 02c9058e2b2e5aaa16f1589e9f375808a5d9e7eb by Dan Vrátil to branch master.


Repository: kdepim


Description
-------

This patch removes the option to customize font family and font size in message list and for tags and only allows customizing bold and italics. As the result we only need to compute sizeHints for ThemeDelegate once and then we can cache it, because we can be sure that all rows have uniform height. The computation is extremely expensive and before this patch it represented almost 50% of the overall threading work. With this patch opening a folder in KMail is hugely faster.

I identified more places that can be optimized in the model now that drawing basically disappeared from callgrind output, so there's still something to do :-)

In the long term I think it makes sense to remove the font family and size customization globally, it probably won't have any more performance impact, but should simplify the code.


Diffs
-----

  kmail/configuredialog/configureappearancepage.cpp 5ab9a2a 
  mailcommon/src/tag/addtagdialog.cpp 7084935 
  mailcommon/src/tag/tag.h 1c2a023 
  mailcommon/src/tag/tag.cpp 45bad11 
  mailcommon/src/tag/tagwidget.h 59559ea 
  mailcommon/src/tag/tagwidget.cpp 920c400 
  messagelist/src/core/manager.cpp d6f6ff0 
  messagelist/src/core/messageitem.h b2ca1d7 
  messagelist/src/core/messageitem.cpp 774fb1a 
  messagelist/src/core/theme.h 383c529 
  messagelist/src/core/theme.cpp 0469364 
  messagelist/src/core/themedelegate.h 69a93a0 
  messagelist/src/core/themedelegate.cpp f8e5762 
  messagelist/src/utils/themeeditor.cpp a4c649c 

Diff: https://git.reviewboard.kde.org/r/125153/diff/


Testing
-------


Thanks,

Daniel Vrátil

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list