[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ftx font driver [Re: Low redisplay performance (23 regression)]
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: ftx font driver [Re: Low redisplay performance (23 regression)] |
Date: |
Thu, 23 Apr 2009 16:31:44 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Thu, 23 Apr 2009 10:01:12 +0900, Kenichi Handa <address@hidden> said:
>>> I haven't compared Emacs 22 and 23, but from a subjective point of
>>> view I have noticed that latest Emacs 23 feels slow and updates
>>> too much for a modern computer. Some particular problems I noticed
>>> randomly:
>> Which font backend driver are you using? You can check it with
>> (cdr (assq 'font-backend (frame-parameters))). I found the ftx
>> font driver was much slower than the xft one partly because of
>> repeated calculations of font metrics. (So I added some cache code
>> to ftcrfont.c in my latest cairo patch posted here).
> Please exlain why it calculates font metrics repeatedly.
> As ftx font driver is not used by default on any platforms, it is
> not tested well and I myself don't remember the code well.
There might be the case that the Xft library is not installed, does
not have a sufficient version, or not found by configure for some
reasons (e.g., PKG_CONFIG_PATH is not set appropriately). In such
cases, the ftx font driver is selected as a default. Of course, you
can reproduce such a situation with --without-xft.
The result of time profiling using Shark.app indicates that
FT_Load_Glyph called from ftfont_text_extents takes much time and
calculates font metrics repeatedly without caching. In particular,
it's really slow if the font is actually in a gzipped PCF format.
YAMAMOTO Mitsuharu
address@hidden
0.0% 99.7% emacs start
0.0% 99.7% emacs main
0.0% 99.7% emacs Frecursive_edit
0.0% 99.7% emacs recursive_edit_1
0.0% 99.7% emacs command_loop
0.0% 99.7% emacs internal_catch
0.0% 99.7% emacs command_loop_2
0.0% 99.7% emacs internal_condition_case
0.0% 99.7% emacs command_loop_1
0.0% 79.4% emacs call3
0.0% 79.4% emacs Ffuncall
0.0% 79.4% emacs Fcall_interactively
0.0% 79.4% emacs Ffuncall
0.0% 69.9% emacs Fscroll_down
0.0% 69.9% emacs scroll_command
0.0% 69.9% emacs window_scroll
0.0% 25.1% emacs pos_visible_p
0.0% 22.4% emacs move_it_to
0.0% 22.4% emacs move_it_in_display_line_to
0.0% 22.3% emacs x_produce_glyphs
0.0% 22.2% emacs get_per_char_metric
0.0% 22.2% emacs ftfont_text_extents
0.0% 22.2% libfreetype.6.dylib
FT_Load_Glyph
0.1% 22.0% libfreetype.6.dylib
PCF_Glyph_Load
0.0% 21.8% libfreetype.6.dylib
FT_Stream_Seek
0.0% 21.8% libfreetype.6.dylib
ft_gzip_stream_io
0.0% 21.8% libfreetype.6.dylib
ft_gzip_file_io
0.0% 21.8% libfreetype.6.dylib
ft_gzip_file_skip_output
21.3% 21.8% libfreetype.6.dylib
ft_gzip_file_fill_output
0.5% 0.5% libfreetype.6.dylib
ft_gzip_file_fill_input
0.0% 0.1% libfreetype.6.dylib
ft_glyphslot_alloc_bitmap
0.0% 0.1% libfreetype.6.dylib
FT_Stream_Read
0.0% 0.1% libfreetype.6.dylib
ft_glyphslot_clear
0.0% 0.1% emacs get_char_face_and_encoding
0.0% 0.0% emacs get_it_property
0.0% 0.0% emacs get_next_display_element
0.0% 0.0% emacs set_iterator_to_next
0.0% 2.1% emacs display_mode_line
0.0% 0.7% emacs line_bottom_y
0.0% 22.5% emacs move_it_to
0.0% 22.5% emacs move_it_in_display_line_to
0.0% 22.4% emacs x_produce_glyphs
0.0% 22.3% emacs get_per_char_metric
0.0% 22.3% emacs ftfont_text_extents
0.0% 22.3% libfreetype.6.dylib
FT_Load_Glyph
0.0% 22.2% libfreetype.6.dylib
PCF_Glyph_Load
0.0% 22.0% libfreetype.6.dylib
FT_Stream_Seek
0.0% 22.0% libfreetype.6.dylib
ft_gzip_stream_io
0.0% 22.0% libfreetype.6.dylib
ft_gzip_file_io
0.0% 21.9% libfreetype.6.dylib
ft_gzip_file_skip_output
21.5% 21.9% libfreetype.6.dylib
ft_gzip_file_fill_output
0.0% 0.0% libfreetype.6.dylib
ft_gzip_file_reset
0.0% 0.1% libfreetype.6.dylib
FT_Stream_Read
0.0% 0.1% libfreetype.6.dylib
ft_glyphslot_alloc_bitmap
0.0% 0.0% libfreetype.6.dylib
ft_synthesize_vertical_metrics
0.0% 0.1% libfreetype.6.dylib
ft_glyphslot_clear
0.0% 0.1% emacs get_char_face_and_encoding
0.0% 0.0% emacs get_it_property
0.0% 0.1% emacs get_next_display_element
0.0% 0.0% emacs set_iterator_to_next
0.0% 0.0% emacs recenter_overlay_lists
0.0% 21.7% emacs move_it_vertically_backward
0.0% 0.6% emacs move_it_by_lines
0.0% 9.5% emacs Fscroll_up
0.0% 20.3% emacs read_key_sequence
0.0% 0.0% emacs resize_echo_area_exactly
0.0% 0.0% emacs start_hourglass
0.0% 0.0% emacs safe_run_hooks
0.0% 0.0% emacs Fcommand_remapping
0.1% 0.1% mach_kernel lo_alltraps
0.0% 0.1% mach_kernel lo_mach_scall
0.0% 0.0% mach_kernel lo_unix_scall
0.0% 0.0% mach_kernel i386_astintr
0.0% 0.0% mach_kernel IOWorkLoop::threadMain()
0.0% 0.0% mach_kernel thread_call_enter_delayed
0.0% 0.0% mach_kernel uiomove
- Re: Low redisplay performance (23 regression), (continued)
- Re: Low redisplay performance (23 regression), Daniel Clemente, 2009/04/22
- Re: Low redisplay performance (23 regression), David Reitter, 2009/04/22
- Re: Low redisplay performance (23 regression), Chong Yidong, 2009/04/22
- Re: Low redisplay performance (23 regression), David Reitter, 2009/04/22
- Re: Low redisplay performance (23 regression), Willem Rein Oudshoorn, 2009/04/23
- Re: Low redisplay performance (23 regression), Miles Bader, 2009/04/23
- Re: Low redisplay performance (23 regression), YAMAMOTO Mitsuharu, 2009/04/22
- ftx font driver [Re: Low redisplay performance (23 regression)], Kenichi Handa, 2009/04/22
- Re: ftx font driver [Re: Low redisplay performance (23 regression)],
YAMAMOTO Mitsuharu <=
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Kenichi Handa, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Chong Yidong, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Stefan Monnier, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Kenichi Handa, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Stefan Monnier, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Chong Yidong, 2009/04/23
- Re: ftx font driver [Re: Low redisplay performance (23 regression)], Chong Yidong, 2009/04/25
- Re: Low redisplay performance (23 regression), Juanma Barranquero, 2009/04/21
Re: Low redisplay performance (23 regression), Deniz Dogan, 2009/04/20
Re: Low redisplay performance (23 regression), William Xu, 2009/04/21