commit 25727ee5a898a5ade763a344ebac28b49df89076
Author: Jean-Marc <[email protected]>
Date: Tue Jul 21 00:14:39 2015 +0200
Only compute string length every 30 characters
This makes paragraph rebreaking muh much faster, at least on my ancient
iMac Core 2 Duo.
diff --git a/src/Row.cpp b/src/Row.cpp
index ec01d5c..1bd11c9 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -333,11 +333,16 @@ void Row::add(pos_type const pos, char_type const c,
Element e(STRING, pos, f, ch);
elements_.push_back(e);
}
- dim_.wid -= back().dim.wid;
- back().str += c;
- back().endpos = pos + 1;
- back().dim.wid = theFontMetrics(back().font).width(back().str);
- dim_.wid += back().dim.wid;
+ if (back().str.length() % 30 == 0) {
+ dim_.wid -= back().dim.wid;
+ back().str += c;
+ back().endpos = pos + 1;
+ back().dim.wid = theFontMetrics(back().font).width(back().str);
+ dim_.wid += back().dim.wid;
+ } else {
+ back().str += c;
+ back().endpos = pos + 1;
+ }
}