Subject: bug#24634: 25.1 on Windows (native and cygwin+w32): high CPU load with "wavy" characters

From: Eli Zaretskii <[email-masked]>
Date: Sat, 08 Oct 2016 09:21:14 +0300

> From: Georges Ko <[email-masked]>
> Date: Sat, 08 Oct 2016 10:59:06 +0800
> 
> > So Symbola and Courier New don't cause slowdown, while MingLiu does?

What about this question?

> > Do you have some custom fontset setup, or does Emacs use MingLiu for
> > the WAVY LOW LINE by default, in "emacs -Q"?
> 
> Emacs uses MingLiu in "emacs -Q" on my system.
> 
> In "Initial setup" I just do "emacs -Q" and insert these characters and
> see the fonts used to display ASCII characters (1st line), WAVY LINE
> (2nd line) and WAVY LOW LINE (3rd character), which are:
> 
>   - ASCII         -O-Courier New-NNN-mono-13-*-*-*-c-*-iso8859-1
>   - WAVY LINE     -O-Symbola-NNN-serif-13-*-*-*-p-*-iso8859-1
>   - WAVY LOW LINE -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso10646-1
> 
> and WAVY LINE     (Symbola) is OK (no slowdown) and
>     WAVY LOW LINE (MingLiu) is NOK (slowdown).
> 
> After switching to "MingLiu-10" with (set-frame-font "MingLiu-10),
> everything is smooth and using all use MingLiu-10 (2nd row of table):
> 
>   - ASCII, WAVY LINE -O-MingLiU-NNN-mono-13-*-*-*-c-*-iso8859-1
>   - WAVY LOW LINE    -O-MingLiU-NNN-mono-13-*-*-*-c-*-gb2312.1980-0

As I said elsewhere, patches to make the offending code opt-out under
control of a Lisp variable are welcome.  If you rebuild with the
compact_font_caches function (in alloc.c) disabled, i.e. make its body
empty, does the problem go away for you?