summaryrefslogtreecommitdiffstats
path: root/draw/textw.c
diff options
context:
space:
mode:
authorGravatar NRK 2022-03-24 00:37:55 +0600
committerGravatar Hiltjo Posthuma 2022-03-25 22:49:07 +0100
commit22511c41d55a38a770541ae617a09383d5e6ad1c (patch)
tree2239b8590d3bff0212ccf56e6f3c9fdcefcce5fe /draw/textw.c
parentinputw: improve correctness and startup performance (diff)
drw_text: improve performance when there's no match
this was the last piece of the puzzle, the case where we can't find any font to draw the codepoint. in such cases, we use XftFontMatch() which is INSANELY slow. but that's not the real problem. the real problem was we were continuously trying to match the same thing over and over again. this patch introduces a small cache, which keeps track a couple codepoints for which we know we won't find any matches. with this, i can dump lots of emojies into dmenu where some of them don't have any matching font, and still not have dmenu lag insanely or FREEZE completely when scrolling up and down. this also improves startup time, which will of course depend on the system and all installed fonts; but on my system and test case i see the following startup time drop: before -> after 60ms -> 34ms
Diffstat (limited to 'draw/textw.c')
0 files changed, 0 insertions, 0 deletions
tro' width='13' height='13' alt='Gravatar' /> Hiltjo Posthuma 1-2/+3 2015-11-08remove .hgtags fileGravatar Hiltjo Posthuma 1-49/+0 2015-11-07dmenu.1: clarify monitor numbers are starting from 0 (first mon)Gravatar Hiltjo Posthuma 1-1/+2 2015-11-07fix: multimon: always spawn client on first monitor if specified with -m 0Gravatar Hiltjo Posthuma 1-1/+1 2015-10-20drw: cleanup drw_text, prevent gcc warning false-positive of unused varGravatar Hiltjo Posthuma 1-21/+14 2015-10-20drw: simplify drw_font_xcreate and prevent a potential unneeded allocationGravatar Hiltjo Posthuma 1-22/+19 2015-10-20drw: a valid (non-NULL) Drw and Fnt context must be passedGravatar Hiltjo Posthuma 1-16/+3 2015-10-20add sbase-style ecalloc(), calloc: or dieGravatar Hiltjo Posthuma 3-12/+18 2015-10-18free schemes as arrayGravatar Hiltjo Posthuma 1-6/+6 2015-10-04fix input text matchingGravatar Quentin Rameau 1-1/+1 2015-10-04fix incorrect ordering of match resultsGravatar Davide Del Zompo 1-2/+3 2015-10-04fix paste from clipboard (ctrl+shift+y)Gravatar Hiltjo Posthuma 1-0/+1 2015-09-28minor style fixGravatar Hiltjo Posthuma 1-1/+2 2015-09-28Remove function prototypes and reorder functions accordinglyGravatar FRIGN 1-80/+64 2015-09-28Untypedef struct itemGravatar FRIGN 1-10/+9 2015-09-28Fix the conversion from microseconds to nanosecondsGravatar Quentin Rameau 1-1/+1 2015-09-28Replace deprecated usleep() with nanosleep()Gravatar Quentin Rameau 1-2/+3 2015-09-28config.mk: use -std=c99Gravatar Hiltjo Posthuma 1-1/+1 2015-09-27dmenu: style improvementsGravatar Hiltjo Posthuma 1-204/+213 2015-09-27drw style improvementsGravatar Hiltjo Posthuma 2-93/+106 2015-09-27separate program-specific c99 bool and X11Gravatar Hiltjo Posthuma 2-11/+10 2015-09-27config.mk: fix _XOPEN_SOURCE=700 for getline()Gravatar Hiltjo Posthuma 1-1/+1 2015-09-27config.mk: improve feature test checkGravatar Hiltjo Posthuma 1-1/+1 2015-08-06Fixed typo introduced by shared codeGravatar Eric Pruitt 1-1/+1 2015-07-19stest: get rid of getopt, use suckless arg.hGravatar Hiltjo Posthuma 3-53/+141 2015-07-19config.mk: add FREETYPELIBS and FREETYPEINCGravatar Hiltjo Posthuma 1-3/+9 2015-07-19fix prompt color style how it used to beGravatar Hiltjo Posthuma 1-1/+1 2015-06-27Use libdraw: add Xft and fallback-fonts support to graphics libGravatar Hiltjo Posthuma 11-316/+684 2014-09-17applied Hiltjo's patch as suggested on the ml to fix ControlMask for C-j and C-mGravatar Anselm R Garbe 2-2/+5 2014-07-30fix crash with ctrl-enter as inputGravatar Hiltjo Posthuma 1-1/+2 2014-05-29updated copyright notices in LICENSE and dmenu.c fileGravatar Anselm R Garbe 2-2/+2 2013-08-13applied Martin Kühl's inverse matching flag to stestGravatar Anselm R Garbe 2-4/+7 2013-08-02applied Martti Kühne's dmenu monitor patchGravatar Anselm R Garbe 3-4/+14 2013-06-28accepted vi'is exit approach ^[ (suggested by Arkaduisz)Gravatar Anselm R Garbe 1-0/+2