[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
Fri Sep 11 08:53:00 BST 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125153/
-----------------------------------------------------------
Review request for KDEPIM and Laurent Montel.
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 37b6a31
mailcommon/tag/addtagdialog.cpp b4c66cd
mailcommon/tag/tag.h 1c2a023
mailcommon/tag/tag.cpp 45bad11
mailcommon/tag/tagwidget.h 59559ea
mailcommon/tag/tagwidget.cpp 920c400
messagelist/core/manager.cpp 648a66b
messagelist/core/messageitem.h 41fd3ee
messagelist/core/messageitem.cpp fa84802
messagelist/core/theme.h ac9a068
messagelist/core/theme.cpp 0469364
messagelist/core/themedelegate.h 5bd9ba2
messagelist/core/themedelegate.cpp 3bed651
messagelist/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