diff options
author | NRK <nrk@disroot.org> | 2022-03-24 02:04:04 +0600 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-03-25 22:49:07 +0100 |
commit | 7269c5355d257dd2ad2c53f15dc9c1cf6796aea5 (patch) | |
tree | f043c06fb58bc7a161c9329c48ec98759d9cc401 /draw/drawtext.c | |
parent | 6be057f060543bb0f3ed9423904263617cdffffe (diff) |
significantly improve performance on large strings
this replaces inefficient pattern of `MIN(TEXTW(..), n)` with
drw_fontset_getwidth_clamp() instead, which is far more efficient when
we only want up to a certain width.
dumping a decently sized (unicode) emoji file into dmenu, I see the
startup time drop significantly with this patch.
before -> after
360ms -> 160ms
this should also noticeably improve input latency (responsiveness) given
that calcoffsets() and drawmenu() are pretty hot functions.
Diffstat (limited to 'draw/drawtext.c')
0 files changed, 0 insertions, 0 deletions