Introduction
Introduction Statistics Contact Development Disclaimer Help
Improve speed of drw_text when provided with large strings - dwm - dynamic wind…
git clone git://git.suckless.org/dwm
Log
Files
Refs
README
LICENSE
---
commit 716233534b35f74dba5a46ade8f1a6f8cc72fea4
parent 138b405f0c8aa24d8a040cc1a1cf6e3eb5a0ebc7
Author: Miles Alan <[email protected]>
Date: Mon, 9 Aug 2021 18:24:14 +0200
Improve speed of drw_text when provided with large strings
Calculates len & ew in drw_font_getexts loop by incrementing instead of
decrementing; as such avoids proportional increase in time spent in loop
based on provided strings size.
Diffstat:
M drw.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/drw.c b/drw.c
@@ -310,8 +310,11 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned …
if (utf8strlen) {
drw_font_getexts(usedfont, utf8str, utf8strlen, &ew, N…
/* shorten text if necessary */
- for (len = MIN(utf8strlen, sizeof(buf) - 1); len && ew…
- drw_font_getexts(usedfont, utf8str, len, &ew, …
+ if (ew > w)
+ for (ew = 0, len = 0; ew < w - lpad * 2 && len…
+ drw_font_getexts(usedfont, utf8str, le…
+ else
+ len = MIN(utf8strlen, sizeof(buf) - 1);
if (len) {
memcpy(buf, utf8str, len);
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.