[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
Tue Sep 15 11:06:57 BST 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125153/
-----------------------------------------------------------
(Updated Sept. 15, 2015, 12:06 p.m.)
Review request for KDEPIM and Laurent Montel.
Changes
-------
Rebased on current master.
Laurent, ping :) Could you please review this? It's getting hard to keep it up to date with your changes in kdepim :)
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 (updated)
-----
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