Subject: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006

From: Eli Zaretskii <[email-masked]>
Date: Mon, 02 Dec 2013 20:00:11 +0200

> Date: Mon, 02 Dec 2013 15:43:21 +0400
> From: Dmitry Antipov <[email-masked]>
> CC: [email-masked]
> 
> BTW, I have grabbed BatangChe font from MS-Windows machine and tried:
> 
> ./src/emacs -Q -font '-hanyang system-batangche-medium-r-normal--0-0-0-0-m-0-iso10646-1'
> 
> This looks extremely ugly

Relax, that font is only used for the triangle, not for the text.

> but basic editing around "magic triangle" works without any visible
> slowdown.

Again, if you don't see the font caches being GC'ed, you will not
notice any slowdown.

Can you describe the "life cycle" of the font cache?  All I see is
that it is consed in font.c, which also maintains a reference counter
for each driver-type, and that's it.  All the rest is left to the font
driver, but I see no code that records the font caches anywhere,
except in dpyinfo->name_list_element, which does not seem to be part
of any Lisp object visible to GC.

If the above is correct, then how can we expect the font caches that
are still in use to be marked?  What am I missing?