Re: [dev][dmenu] Setting FC_SCALABLE causes slowdowns

From: Hiltjo Posthuma <hiltjo_AT_codemadness.org>
Date: Mon, 9 Aug 2021 18:19:41 +0200

On Sun, Aug 08, 2021 at 10:33:07AM -0400, Miles Alan wrote:
> I'm working on trying to speed up dmenu rendering in some edgecases. I've
> sent a patch to the hackers ML about line-length effecting performance.
>
> A second issue I'm noticing is that the line within drw.c:
> FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
>
> will cause vast rendering slowdowns based on the input charset. A good
> example to try is the text in this chinese ebook:
>
> curl 'https://www.gutenberg.org/files/24264/24264-0.txt' |
> dmenu -l 30 -fn Terminus-10
>
> If you set FC_SCALABLE to FcFalse, it seems then the characters are
> rendered and things are instant (as they should be). So should FC_SCALABLE
> being FcFalse / unset be the default? Is there another way to speed up
> rendering outside of dmenu's scope if not?
>
> Miles
>

Hi Miles,

I will review your other patch, thanks for looking into performance.

In the case of FC_SCALABLE it changes the way fonts are displayed and actually
seems to make it slower here.

Note that you can also override some of the attributes in the XML fontconfig
configuration, so maybe that's a better way to workaround not scaling fonts.

-- 
Kind regards,
Hiltjo
Received on Mon Aug 09 2021 - 18:19:41 CEST

This archive was generated by hypermail 2.3.0 : Mon Aug 09 2021 - 18:24:08 CEST