* bug#26402: 25.2; Font rendering extremely slow on any non-default font
@ 2017-04-08 13:48 Gennady Uraltsev
2017-04-08 14:44 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Gennady Uraltsev @ 2017-04-08 13:48 UTC (permalink / raw)
To: 26402
[-- Attachment #1.1.1: Type: text/plain, Size: 16364 bytes --]
Font rendering in emacs is incredibly slow if any buffer-local change is
made i.e. unless using 'default.
I tried moving the cursor in a small (30 line) text file in emacs under
X. It works perfectly, also changing the default font size with
set-face-font or set-frame-font
works perfectly well. On the other hand, any buffer local change of font
makes everything extremely slow. These modifications include
(buffer-face-set 'fixed-pitch)
or
text-scale-adjust
The cursor gets redrawn around once every second making using emacs
impossible.
I am attaching the profiler logs for moving the cursor from the
beginning to the end of the 30 line buffer
Default run:
> - command-execute 122 96%
> - call-interactively 122 96%
> - byte-code 88 69%
> - read-extended-command 88 69%
> - completing-read 88 69%
> - completing-read-default 88 69%
> - read-from-minibuffer 25 19%
> - redisplay_internal (C function) 3 2%
> - funcall 3 2%
> - #<compiled 0x26fa55> 3 2%
> - gui-backend-selection-exists-p 3 2%
> - apply 3 2%
> #<compiled 0x49fcad> 3 2%
> - command-execute 2 1%
> - call-interactively 2 1%
> - funcall-interactively 2 1%
> - previous-line-or-history-element 2 1%
> - previous-history-element 2 1%
> goto-history-element 2 1%
> - funcall-interactively 34 26%
> - execute-extended-command 33 26%
> - sit-for 25 19%
> - redisplay 20 15%
> - redisplay_internal (C function) 4 3%
> - funcall 4 3%
> - #<compiled 0x26fa55> 4 3%
> - gui-backend-selection-exists-p 4 3%
> - apply 4 3%
> #<compiled 0x49fcad> 4 3%
> - command-execute 8 6%
> - call-interactively 8 6%
> - funcall-interactively 8 6%
> - profiler-report 8 6%
> - profiler-report-cpu 8 6%
> profiler-cpu-profile 8 6%
> - next-line 1 0%
> - line-move 1 0%
> - line-move-partial 1 0%
> - window-screen-lines 1 0%
> - window-inside-pixel-edges 1 0%
> window-edges 1 0%
> - ... 4 3%
> Automatic GC 4 3%
Run after set-frame-font:
> - command-execute 100 90%
> - call-interactively 100 90%
> - byte-code 58 52%
> - read-extended-command 58 52%
> - completing-read 58 52%
> + completing-read-default 58 52%
> - funcall-interactively 42 37%
> - execute-extended-command 36 32%
> - sit-for 24 21%
> - redisplay 17 15%
> - redisplay_internal (C function) 2 1%
> - funcall 2 1%
> - #<compiled 0x26fa55> 2 1%
> - gui-backend-selection-exists-p 2 1%
> - apply 2 1%
> #<compiled 0x49fcad> 2 1%
> - command-execute 12 10%
> - call-interactively 12 10%
> - funcall-interactively 12 10%
> - profiler-report 12 10%
> - profiler-report-cpu 12 10%
> profiler-cpu-profile 12 10%
> - next-line 6 5%
> - line-move 6 5%
> line-move-visual 6 5%
> - ... 10 9%
> Automatic GC 10 9%
> - timer-event-handler 1 0%
> - apply 1 0%
> jit-lock-context-fontify 1 0%
BAD run after text-scale-adjust
> - command-execute 2024 99%
> - call-interactively 2024 99%
> - funcall-interactively 1999 98%
> - next-line 1965 96%
> - line-move 1965 96%
> - line-move-partial 1433 70%
> - default-line-height 730 35%
> default-font-height 730 35%
> - window-screen-lines 695 34%
> - default-line-height 691 33%
> default-font-height 691 33%
> - window-inside-pixel-edges 4 0%
> window-edges 4 0%
> - window-inside-pixel-edges 8 0%
> - window-edges 8 0%
> - window-current-scroll-bars 4 0%
> frame-current-scroll-bars 4 0%
> - default-line-height 524 25%
> default-font-height 524 25%
> line-move-visual 4 0%
> - window-inside-pixel-edges 4 0%
> - window-edges 4 0%
> - window-current-scroll-bars 4 0%
> frame-current-scroll-bars 4 0%
> - execute-extended-command 34 1%
> - sit-for 22 1%
> redisplay 16 0%
> - command-execute 12 0%
> - call-interactively 12 0%
> - funcall-interactively 12 0%
> - profiler-report 12 0%
> - profiler-report-cpu 12 0%
> profiler-cpu-profile 12 0%
> - byte-code 25 1%
> - read-extended-command 25 1%
> - completing-read 25 1%
> - completing-read-default 25 1%
> read-from-minibuffer 19 0%
> - ... 11 0%
> Automatic GC 11 0%
BAD run after (buffer-set-face fixed-pitch)
> command-execute 1778 99%
> - call-interactively 1778 99%
> - funcall-interactively 1745 97%
> - next-line 1716 96%
> - line-move 1716 96%
> - line-move-partial 1176 65%
> - default-line-height 608 34%
> default-font-height 608 34%
> - window-screen-lines 568 31%
> - default-line-height 568 31%
> default-font-height 568 31%
> - default-line-height 540 30%
> default-font-height 540 30%
> - execute-extended-command 29 1%
> - sit-for 15 0%
> redisplay 12 0%
> - command-execute 14 0%
> - call-interactively 14 0%
> - funcall-interactively 14 0%
> - profiler-report 10 0%
> - profiler-report-cpu 10 0%
> profiler-cpu-profile 10 0%
> profiler-start 4 0%
> - byte-code 33 1%
> - read-extended-command 33 1%
> - completing-read 33 1%
> - completing-read-default 33 1%
> read-from-minibuffer 17 0%
> - ... 8 0%
> Automatic GC 8 0%
In GNU Emacs 25.2.1 (x86_64-suse-linux-gnu, GTK+ Version 3.20.10)
of 2017-03-27 built on lamb61
Windowing system distributor 'The X.Org Foundation', version 11.0.11803000
System Description: openSUSE Leap 42.2
Configured using:
'configure --with-pop --without-hesiod --with-kerberos --with-kerberos5
--with-xim --with-wide-int --with-file-notification=inotify
--with-modules --enable-autodepend --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--localstatedir=/var --sharedstatedir=/var/lib --libexecdir=/usr/lib
--enable-locallisppath=/usr/share/emacs/25.2/site-lisp:/usr/share/emacs/site-lisp
--with-x --with-sound --with-xpm --with-jpeg --with-tiff --with-gif
--with-png --with-rsvg --with-dbus --with-xft --without-gpm
--with-x-toolkit=gtk3 --with-xwidgets --x-includes=/usr/include
--x-libraries=/usr/lib64 --with-libotf --with-m17n-flt
--build=x86_64-suse-linux 'CFLAGS=-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector
-funwind-tables -fasynchronous-unwind-tables -g -D_GNU_SOURCE
-DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS
-pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label
-Wno-unprototyped-calls -fno-optimize-sibling-calls -fno-PIE
-DSYSTEM_PURESIZE_EXTRA=55000 -DSITELOAD_PURESIZE_EXTRA=10000 '
LDFLAGS=-Wl,-O2'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS
Important settings:
value of $LC_CTYPE: en_US.UTF-8
value of $LC_MONETARY: de_DE.UTF-8
value of $LC_NUMERIC: POSIX
value of $LC_TIME: en_GB.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=local
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
buffer-face-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
Making completion list... [2 times]
delete-backward-char: Text is read-only
Making completion list... [3 times]
You can run the command ‘buffer-face-set’ with M-x bu-s RET
previous-line: Beginning of buffer [3 times]
CPU profiler stopped
CPU profiler started
next-line: End of buffer
Wrote /home/guraltsev/admin/bugs/emacs/font-slow/buffer-set-face-fixed-pitch
C-x <up> is undefined [2 times]
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr
mail-utils thingatpt profiler easymenu cl-loaddefs pcase cl-lib
face-remap time-date mule-util delsel lpr tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
xwidget-internal move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)
Memory information:
((conses 16 121417 15744)
(symbols 48 22660 0)
(miscs 40 5039 157)
(strings 32 23137 10436)
(string-bytes 1 677307)
(vectors 16 67484)
(vector-slots 8 1659575 10120)
(floats 8 184 184)
(intervals 56 446 10)
(buffers 976 24)
(heap 1024 58366 8411))
[-- Attachment #1.1.2: BAD-text-scale-adjust-profile --]
[-- Type: text/plain, Size: 2419 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 6 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 730 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 691 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 524 [window-edges window-inside-pixel-edges window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 4 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [frame-current-scroll-bars window-current-scroll-bars window-edges window-inside-pixel-edges line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 4 [frame-current-scroll-bars window-current-scroll-bars window-edges window-inside-pixel-edges line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 4 [window-edges window-inside-pixel-edges line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 19 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 12 [Automatic\ GC] 11)) (22760 58176 318849 204000) nil]
[-- Attachment #1.1.3: BAD-buffer-set-face-fixed-pitch-profile --]
[-- Type: text/plain, Size: 1766 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([profiler-start funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 12 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 3 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 608 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 568 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 540 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 17 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 10 [Automatic\ GC] 8)) (22760 58394 492030 54000) nil]
[-- Attachment #1.1.4: GOOD-default-profile --]
[-- Type: text/plain, Size: 2040 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 ["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 4 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 5 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 26 [window-edges window-inside-pixel-edges window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 63 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 20 ["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 3 [goto-history-element previous-history-element previous-line-or-history-element funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 2 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 8 [Automatic\ GC] 4)) (22760 58093 299567 465000) nil]
[-- Attachment #1.1.5: GOOD-set-frame-font-profile --]
[-- Type: text/plain, Size: 2292 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data (["#<compiled 0x49fcad>" apply gui-backend-selection-exists-p "#<compiled 0x26fa55>" funcall redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 2 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 15 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 7 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 24 [jit-lock-context-fontify apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 39 [image-search-load-path find-image eval "#<compiled 0x280363>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 11 [apply timer-event-handler read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil] 3 [line-move-visual line-move previous-line previous-line-or-history-element funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 1 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 12 [Automatic\ GC] 10)) (22760 58827 129064 974000) nil]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-08 13:48 bug#26402: 25.2; Font rendering extremely slow on any non-default font Gennady Uraltsev
@ 2017-04-08 14:44 ` Eli Zaretskii
2017-04-08 14:54 ` Gennady Uraltsev
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-08 14:44 UTC (permalink / raw)
To: Gennady Uraltsev; +Cc: 26402
> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> Date: Sat, 8 Apr 2017 15:48:38 +0200
>
> Font rendering in emacs is incredibly slow if any buffer-local change is
> made i.e. unless using 'default.
Does setting inhibit-compacting-font-caches non-nil solve the problem?
If it does, can you show an example of a buffer where you see this
problem?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-08 14:44 ` Eli Zaretskii
@ 2017-04-08 14:54 ` Gennady Uraltsev
2017-04-08 16:10 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Gennady Uraltsev @ 2017-04-08 14:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26402
[-- Attachment #1: Type: text/plain, Size: 714 bytes --]
Hey,
Nope, sorry. Doesn't seem to help. What I did:
started emacs with
#emacs -Q lorem-ipsum
emacs opens in fundamental mode with the file (attached)
# M-x eval-expression
# (setq inhibit-compacting-font-caches t)
# buffer-face-set
# variable-pitch
Slow as before. Attaching the profiler logs
On 08/04/17 16:44, Eli Zaretskii wrote:
> > From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> > Date: Sat, 8 Apr 2017 15:48:38 +0200
> >
> > Font rendering in emacs is incredibly slow if any buffer-local change is
> > made i.e. unless using 'default.
>
> Does setting inhibit-compacting-font-caches non-nil solve the problem?
> If it does, can you show an example of a buffer where you see this
> problem?
>
[-- Attachment #2: BAD-inhibit-cache-buffer-set-face-profile --]
[-- Type: text/plain, Size: 2591 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 804 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 750 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 670 [default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [line-move-visual line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 4 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 29 [image-search-load-path find-image eval "#<compiled 0x280363>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil] 4 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 23 [complete-with-action "#<compiled 0x24c47d>" try-completion completion-basic-try-completion "#<compiled 0x4abe53>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x249589>" apply "#<compiled 0x5cdc62b>" completion--in-region completion-in-region minibuffer-complete] 3 [execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil] 5 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 8 [Automatic\ GC] 5)) (22760 63749 353013 10000) nil]
[-- Attachment #3: BAD-inhibit-cache-buffer-set-face --]
[-- Type: text/plain, Size: 2925 bytes --]
- command-execute 2313 99%
- call-interactively 2313 99%
- funcall-interactively 2257 97%
- next-line 2236 96%
- line-move 2236 96%
- line-move-partial 1558 67%
- default-line-height 804 34%
default-font-height 804 34%
- window-screen-lines 754 32%
- default-line-height 754 32%
default-font-height 750 32%
- default-line-height 674 29%
default-font-height 670 28%
line-move-visual 4 0%
- execute-extended-command 21 0%
- sit-for 8 0%
redisplay 8 0%
- command-execute 8 0%
- call-interactively 8 0%
- funcall-interactively 8 0%
- profiler-report 8 0%
- profiler-report-cpu 8 0%
profiler-cpu-profile 8 0%
- byte-code 56 2%
- read-extended-command 56 2%
- completing-read 56 2%
- completing-read-default 56 2%
- read-from-minibuffer 27 1%
- redisplay_internal (C function) 4 0%
- tool-bar-make-keymap 4 0%
- tool-bar-make-keymap-1 4 0%
- mapcar 4 0%
+ #<compiled 0x280363> 4 0%
- ... 8 0%
Automatic GC 5 0%
- minibuffer-complete 3 0%
- completion-in-region 3 0%
- completion--in-region 3 0%
+ #<compiled 0x5cdc62b> 3 0%
[-- Attachment #4: lore-ipsum --]
[-- Type: text/plain, Size: 1151 bytes --]
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non
orci commodo lobortis. Proin neque massa, cursus ut, gravida ut,
lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus.
Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec
at pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id
enim. Phasellus neque orci, porta a, aliquet quis, semper a, massa.
Phasellus purus. Pellentesque tristique imperdiet tortor. Nam
euismod tellus id erat.
Nulla posuere. Nunc eleifend leo vitae magna. Nunc aliquet, augue
nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi
purus non odio.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-08 14:54 ` Gennady Uraltsev
@ 2017-04-08 16:10 ` Eli Zaretskii
[not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com>
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-08 16:10 UTC (permalink / raw)
To: Gennady Uraltsev; +Cc: 26402
> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> Cc: 26402@debbugs.gnu.org
> Date: Sat, 8 Apr 2017 16:54:54 +0200
>
> #emacs -Q lorem-ipsum
>
> emacs opens in fundamental mode with the file (attached)
>
> # M-x eval-expression
> # (setq inhibit-compacting-font-caches t)
> # buffer-face-set
> # variable-pitch
>
> Slow as before. Attaching the profiler logs
What font do you get when you do the above? You can use "C-u C-x ="
to see that.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
[not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com>
@ 2017-04-08 17:18 ` Eli Zaretskii
2017-04-08 22:33 ` Gennady Uraltsev
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-08 17:18 UTC (permalink / raw)
To: Gennady Uraltsev; +Cc: 26402
[Please keep the bug address on the CC list.]
> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> Date: Sat, 8 Apr 2017 18:32:34 +0200
>
> The default font that emacs -Q starts with is
>
> xft:-adobe-Source Code
> Pro-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1 (#x2C)
>
> (I guess it comes from the fact that that is my predefined qt and gtk
> monospace font)
>
> once zooming in (text-scale-adjust INC) I get
>
> xft:-adobe-Source Code
> Pro-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x1E)
>
> If instead of zooming in I do M-x buffer-face-set variable-pitch
> I get the font
>
> xft:-unknown-Roboto-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x48)
>
>
>
> I can also replicate this by setting the global font to be something
> else like
>
> xft:-unknown-Droid Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1
> (#x54)
> xft:-monotype-Noto Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1
> (#x36)
>
> at the level of the frame by using
>
> M-x set-frame-font
> -unknown-Droid Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1
> or
> -monotype-Noto Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1
>
> respectively. This does not have a negative impact on performance. But
> as soon as I enable something like
>
> M-x buffer-face-set fixed-pitch or
> (text-scale-adjust INC) the problem returns
Can you build your own Emacs? If so, could you please apply the
following patch and see if it solves the problem?
diff --git a/src/font.c b/src/font.c
index a929509..bb6d18b 100644
--- a/src/font.c
+++ b/src/font.c
@@ -2777,21 +2777,22 @@ font_list_entities (struct frame *f, Lisp_Object spec)
val = XCDR (val);
else
{
- val = driver_list->driver->list (f, scratch_font_spec);
- if (!NILP (val))
- {
- Lisp_Object copy = copy_font_spec (scratch_font_spec);
+ Lisp_Object copy;
- val = Fvconcat (1, &val);
- ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
- XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
- }
+ val = driver_list->driver->list (f, scratch_font_spec);
+ if (NILP (val))
+ val = zero_vector;
+ else
+ val = Fvconcat (1, &val);
+ copy = copy_font_spec (scratch_font_spec);
+ ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
+ XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
}
- if (VECTORP (val) && ASIZE (val) > 0
+ if (ASIZE (val) > 0
&& (need_filtering
|| ! NILP (Vface_ignored_fonts)))
val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size);
- if (VECTORP (val) && ASIZE (val) > 0)
+ if (ASIZE (val) > 0)
list = Fcons (val, list);
}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-08 17:18 ` Eli Zaretskii
@ 2017-04-08 22:33 ` Gennady Uraltsev
2017-04-09 5:44 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Gennady Uraltsev @ 2017-04-08 22:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26402
[-- Attachment #1.1.1: Type: text/plain, Size: 8717 bytes --]
[Sorry about the CC, must have escaped me]
I recompiled from latest git of today so emacs decalres version 26.0.50
I tried recompiling without your patch and also with your patch. No
apparent improvement
I tried running both (text-scale-adjust INC) and buffer-set-face
both with and without (setq inhibit-compacting-font-caches t)
The profiler profiles are attached.
The profiler output for moving the cursor down from the beginning of the
file to the end are as follows:
*****************
M-x buffer-set-face variable-width
without (setq inhibit-compacting-font-caches t)
*****************
> - command-execute 2227 99%
> - call-interactively 2227 99%
> - funcall-interactively 2189 98%
> - next-line 2176 97%
> - line-move 2176 97%
> - line-move-partial 1560 69%
> - default-line-height 808 36%
> default-font-height 808 36%
> - window-screen-lines 752 33%
> - default-line-height 752 33%
> default-font-height 752 33%
> - default-line-height 616 27%
> default-font-height 612 27%
> - display-graphic-p 4 0%
> framep-on-display 4 0%
> - execute-extended-command 13 0%
> - sit-for 13 0%
> redisplay 8 0%
> - byte-code 34 1%
> - read-extended-command 34 1%
> - completing-read 34 1%
> - completing-read-default 34 1%
> - read-from-minibuffer 17 0%
> - window--sanitize-window-sizes 5 0%
> - walk-window-tree 5 0%
> - walk-window-tree-1 5 0%
> - #<compiled 0x4a56e9> 5 0%
> window-min-size 5 0%
> - ... 4 0%
> Automatic GC 4 0%
*****************
M-x buffer-set-face variable-width
with (setq inhibit-compacting-font-caches t)
*****************
> - command-execute 2509 99%
> - call-interactively 2509 99%
> - funcall-interactively 2459 97%
> - next-line 2415 96%
> - line-move 2415 96%
> - line-move-partial 1763 70%
> - default-line-height 887 35%
> default-font-height 887 35%
> - window-screen-lines 876 34%
> - default-line-height 876 34%
> default-font-height 876 34%
> - default-line-height 652 25%
> default-font-height 652 25%
> - execute-extended-command 44 1%
> - sit-for 23 0%
> - redisplay 12 0%
> - redisplay_internal (C function) 4 0%
> kill-this-buffer-enabled-p 4 0%
> - command-execute 21 0%
> - call-interactively 21 0%
> - funcall-interactively 21 0%
> - profiler-report 21 0%
> - profiler-report-cpu 21 0%
> profiler-cpu-profile 21 0%
> - byte-code 50 1%
> - read-extended-command 50 1%
> - completing-read 50 1%
> - completing-read-default 50 1%
> - read-from-minibuffer 21 0%
> - command-execute 3 0%
> - call-interactively 3 0%
> - funcall-interactively 3 0%
> delete-backward-char 3 0%
> - ... 5 0%
> Automatic GC 5 0%
On 08/04/17 19:18, Eli Zaretskii wrote:
> [Please keep the bug address on the CC list.]
>
>> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
>> Date: Sat, 8 Apr 2017 18:32:34 +0200
>>
>> The default font that emacs -Q starts with is
>>
>> xft:-adobe-Source Code
>> Pro-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1 (#x2C)
>>
>> (I guess it comes from the fact that that is my predefined qt and gtk
>> monospace font)
>>
>> once zooming in (text-scale-adjust INC) I get
>>
>> xft:-adobe-Source Code
>> Pro-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x1E)
>>
>> If instead of zooming in I do M-x buffer-face-set variable-pitch
>> I get the font
>>
>> xft:-unknown-Roboto-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x48)
>>
>>
>>
>> I can also replicate this by setting the global font to be something
>> else like
>>
>> xft:-unknown-Droid Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1
>> (#x54)
>> xft:-monotype-Noto Sans-normal-normal-normal-*-15-*-*-*-*-0-iso10646-1
>> (#x36)
>>
>> at the level of the frame by using
>>
>> M-x set-frame-font
>> -unknown-Droid Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1
>> or
>> -monotype-Noto Sans-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1
>>
>> respectively. This does not have a negative impact on performance. But
>> as soon as I enable something like
>>
>> M-x buffer-face-set fixed-pitch or
>> (text-scale-adjust INC) the problem returns
>
> Can you build your own Emacs? If so, could you please apply the
> following patch and see if it solves the problem?
>
> diff --git a/src/font.c b/src/font.c
> index a929509..bb6d18b 100644
> --- a/src/font.c
> +++ b/src/font.c
> @@ -2777,21 +2777,22 @@ font_list_entities (struct frame *f, Lisp_Object spec)
> val = XCDR (val);
> else
> {
> - val = driver_list->driver->list (f, scratch_font_spec);
> - if (!NILP (val))
> - {
> - Lisp_Object copy = copy_font_spec (scratch_font_spec);
> + Lisp_Object copy;
>
> - val = Fvconcat (1, &val);
> - ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
> - XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
> - }
> + val = driver_list->driver->list (f, scratch_font_spec);
> + if (NILP (val))
> + val = zero_vector;
> + else
> + val = Fvconcat (1, &val);
> + copy = copy_font_spec (scratch_font_spec);
> + ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
> + XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
> }
> - if (VECTORP (val) && ASIZE (val) > 0
> + if (ASIZE (val) > 0
> && (need_filtering
> || ! NILP (Vface_ignored_fonts)))
> val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size);
> - if (VECTORP (val) && ASIZE (val) > 0)
> + if (ASIZE (val) > 0)
> list = Fcons (val, list);
> }
>
>
[-- Attachment #1.1.2: BAD-patched-buffer-set-face-profile --]
[-- Type: text/plain, Size: 1873 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 5 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 808 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 752 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 612 [call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [framep-on-display display-graphic-p default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 17 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 12 [window-min-size "#<compiled 0x4a56e9>" walk-window-tree-1 walk-window-tree window--sanitize-window-sizes read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil] 5 [Automatic\ GC] 4)) (22761 25294 926762 984000) nil]
[-- Attachment #1.1.3: BAD-patched-inhibit-cache-buffer-set-face-profile --]
[-- Type: text/plain, Size: 2010 bytes --]
[profiler-profile "24.3" cpu #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([kill-this-buffer-enabled-p redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 8 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 11 [default-font-height default-line-height line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 887 [default-font-height default-line-height window-screen-lines line-move-partial line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 876 [default-font-height default-line-height line-move next-line funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 652 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 7 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 18 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 29 [delete-backward-char funcall-interactively call-interactively command-execute read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil] 3 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 21 [Automatic\ GC] 5)) (22761 25503 836230 71000) nil]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-08 22:33 ` Gennady Uraltsev
@ 2017-04-09 5:44 ` Eli Zaretskii
2017-04-09 9:45 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-09 5:44 UTC (permalink / raw)
To: Gennady Uraltsev; +Cc: 26402
> Cc: 26402@debbugs.gnu.org
> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> Date: Sun, 9 Apr 2017 00:33:23 +0200
>
> I recompiled from latest git of today so emacs decalres version 26.0.50
> I tried recompiling without your patch and also with your patch. No
> apparent improvement
>
> I tried running both (text-scale-adjust INC) and buffer-set-face
> both with and without (setq inhibit-compacting-font-caches t)
Then I think this is a problem we never saw before. Unfortunately,
since I'm unable to reproduce this on my machine, I cannot debug it
further. One last idea I have is to upgrade all the relevant
libraries to their latest versions.
> The profiler profiles are attached.
The profiles clearly tell the problem is related to font metrics, but
they don't tell what exactly causes the slow-down or why. Sorry.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-09 5:44 ` Eli Zaretskii
@ 2017-04-09 9:45 ` Eli Zaretskii
2017-04-09 11:07 ` Gennady Uraltsev
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-09 9:45 UTC (permalink / raw)
To: gennady.uraltsev; +Cc: 26402
> Date: Sun, 09 Apr 2017 08:44:55 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 26402@debbugs.gnu.org
>
> > The profiler profiles are attached.
>
> The profiles clearly tell the problem is related to font metrics, but
> they don't tell what exactly causes the slow-down or why. Sorry.
How proficient are you with using GDB? If I ask you to step through a
certain Emacs function and tell which of its parts is the slow one,
can you do that? I can give more detailed instructions if needed.
TIA
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-09 9:45 ` Eli Zaretskii
@ 2017-04-09 11:07 ` Gennady Uraltsev
2017-04-09 11:59 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Gennady Uraltsev @ 2017-04-09 11:07 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26402
[-- Attachment #1.1: Type: text/plain, Size: 1403 bytes --]
Dear Eli,
1) I must admit that I am not very familiar with GDB. I have done some
programming so I am familiar with the basic concepts but not the tool.
If you give me an outline of what to do I can try to do it (I do not
mean step by step instructions, I guess I can figure something out and
if I really can't I could ask for clarifications).
2) Currently this is what I am doing. I have some virtual machines of
otherdistributions (vanilla installations) that I use to test for bugs
(cross-check).
I see that on kubuntu 16.10 with emacs 24.5.1 and with emacs25.1.2 the
problem does not appear: everything works smoothly.
3) Just a question: is there a way to ask emacs to dump the info about
the versions of all the libraries it uses?
Let me know what to do.
Thanks!
Gena
On 09/04/17 11:45, Eli Zaretskii wrote:
> > Date: Sun, 09 Apr 2017 08:44:55 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: 26402@debbugs.gnu.org
> >
> >> The profiler profiles are attached.
> >
> > The profiles clearly tell the problem is related to font metrics, but
> > they don't tell what exactly causes the slow-down or why. Sorry.
>
> How proficient are you with using GDB? If I ask you to step through a
> certain Emacs function and tell which of its parts is the slow one,
> can you do that? I can give more detailed instructions if needed.
>
> TIA
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-09 11:07 ` Gennady Uraltsev
@ 2017-04-09 11:59 ` Eli Zaretskii
2019-11-17 7:47 ` Lars Ingebrigtsen
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2017-04-09 11:59 UTC (permalink / raw)
To: Gennady Uraltsev; +Cc: 26402
> From: Gennady Uraltsev <gennady.uraltsev@gmail.com>
> Cc: 26402@debbugs.gnu.org
> Date: Sun, 9 Apr 2017 13:07:03 +0200
>
> 1) I must admit that I am not very familiar with GDB. I have done some
> programming so I am familiar with the basic concepts but not the tool.
> If you give me an outline of what to do I can try to do it (I do not
> mean step by step instructions, I guess I can figure something out and
> if I really can't I could ask for clarifications).
Thanks.
The function we are interested in is font-info, or Ffont_info on the C
level. Its code is in the file font.c around line 5100. It calls
various other functions, like fs_query_fontset and font_open_by_name.
I'd like to know which one of them takes most of the time, then drill
down into that function and find out which of its subroutines takes
most of the time, etc. One way of doing that is step through the code
and find the line whose execution takes a perceptible time.
Alternatively, you could use the 'perf' utility available on GNU/Linux
systems, to profile the code of Ffont_info and its subroutines and
find out which one takes most of the time.
> I see that on kubuntu 16.10 with emacs 24.5.1 and with emacs25.1.2 the
> problem does not appear: everything works smoothly.
Maybe the fonts available on those systems are different?
> 3) Just a question: is there a way to ask emacs to dump the info about
> the versions of all the libraries it uses?
Yes, the 'ldd' command is your friend.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#26402: 25.2; Font rendering extremely slow on any non-default font
2017-04-09 11:59 ` Eli Zaretskii
@ 2019-11-17 7:47 ` Lars Ingebrigtsen
0 siblings, 0 replies; 11+ messages in thread
From: Lars Ingebrigtsen @ 2019-11-17 7:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 26402, Gennady Uraltsev
Eli Zaretskii <eliz@gnu.org> writes:
> The function we are interested in is font-info, or Ffont_info on the C
> level. Its code is in the file font.c around line 5100. It calls
> various other functions, like fs_query_fontset and font_open_by_name.
> I'd like to know which one of them takes most of the time, then drill
> down into that function and find out which of its subroutines takes
> most of the time, etc. One way of doing that is step through the code
> and find the line whose execution takes a perceptible time.
This was two years ago, and there was no followup. I'm not able to
reproduce the problem here, and the font machinery in Emacs has changed
substantially in Emacs 27, so I'm closing this bug report.
If this is still a problem, please reopen.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-11-17 7:47 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-08 13:48 bug#26402: 25.2; Font rendering extremely slow on any non-default font Gennady Uraltsev
2017-04-08 14:44 ` Eli Zaretskii
2017-04-08 14:54 ` Gennady Uraltsev
2017-04-08 16:10 ` Eli Zaretskii
[not found] ` <541302bf-540b-aedb-4ca4-2ba3acfe495e@gmail.com>
2017-04-08 17:18 ` Eli Zaretskii
2017-04-08 22:33 ` Gennady Uraltsev
2017-04-09 5:44 ` Eli Zaretskii
2017-04-09 9:45 ` Eli Zaretskii
2017-04-09 11:07 ` Gennady Uraltsev
2017-04-09 11:59 ` Eli Zaretskii
2019-11-17 7:47 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.