commit bf9b4a0836f23082b68a6a42d048a54333721e8e Merge: ae56fb6 2f8ea7b Author: Jean-Marc Lasgouttes <lasgout...@lyx.org> Date: Tue Dec 7 17:06:21 2021 +0100
Merge branch 'breakrows' With this merge, the way paragraphs are typeset changes. Paragraphs are first tolenized as row elements, and these elements are then broken into separate rows as needed to fit the margins. This allows to reduce the amount of metrics computation and make LyX much faster in the case of large insets. Moreover, the code relies more on RofFlags enum, which desribes how an inset or a row element should be typset. This aspect will be extended in the future. Some user for whom performance is very bad (which I cannot reproduce unfortunately) have reported a 4-fold speedup. In general cases, the speedup will be less impressive but still noticeable. Related to bugs #12297 and #5861. development/PAINTING_ANALYSIS | 7 +- src/Makefile.am | 1 + src/ParagraphMetrics.h | 9 - src/Row.cpp | 256 ++++++++++++++++----------- src/Row.h | 109 +++++++----- src/RowFlags.h | 61 +++++++ src/TextMetrics.cpp | 338 +++++++++++++++++++++++----------- src/TextMetrics.h | 9 +- src/frontends/FontMetrics.h | 23 ++- src/frontends/qt/GuiFontMetrics.cpp | 177 +++++++++++++------ src/frontends/qt/GuiFontMetrics.h | 20 ++- src/insets/Inset.h | 37 +---- src/insets/InsetBibtex.h | 2 +- src/insets/InsetCaption.h | 2 +- src/insets/InsetFloatList.h | 2 +- src/insets/InsetInclude.cpp | 2 +- src/insets/InsetInclude.h | 2 +- src/insets/InsetIndex.h | 2 +- src/insets/InsetListings.cpp | 2 +- src/insets/InsetListings.h | 2 +- src/insets/InsetNewline.cpp | 9 + src/insets/InsetNewline.h | 2 +- src/insets/InsetNewpage.h | 2 +- src/insets/InsetNomencl.h | 2 +- src/insets/InsetSeparator.h | 2 +- src/insets/InsetSpace.cpp | 2 +- src/insets/InsetSpace.h | 2 +- src/insets/InsetSpecialChar.cpp | 2 +- src/insets/InsetSpecialChar.h | 2 +- src/insets/InsetTOC.h | 2 +- src/insets/InsetTabular.cpp | 30 ++-- src/insets/InsetTabular.h | 2 +- src/insets/InsetVSpace.h | 2 +- src/mathed/InsetMathHull.cpp | 2 +- src/mathed/InsetMathHull.h | 2 +- 35 files changed, 713 insertions(+), 415 deletions(-) -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs