emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rendering performace vs. line-spacing


From: Eli Zaretskii
Subject: Re: Rendering performace vs. line-spacing
Date: Fri, 08 Jan 2021 16:35:32 +0200

> Cc: emacs-devel@gnu.org
> From: "Herman, Geza" <geza.herman@gmail.com>
> Date: Fri, 8 Jan 2021 14:46:10 +0100
> 
> - 27.75% draw_glyphs
>        - 18.80% gui_fix_overlapping_area
>           - 18.63% update_window
>                update_window_tree
>                update_frame
>              - redisplay_internal
>                 - 10.33% read_char
>                      read_key_sequence
>                 - 8.09% read_key_sequence
>                      command_loop_1
>           + 0.17% draw_phys_cursor_glyph
>        - 8.86% gui_write_glyphs
>           - 7.93% update_window_line
>                update_window
>                update_window_tree
>                update_frame
>              - redisplay_internal
>                 + 4.51% read_char
>                 + 3.33% read_key_sequence
>           + 0.93% update_window
> 
> 
> With larger line-spacing, this function takes 0.86%:
> 
>        0.86%
>        - 0.76% gui_write_glyphs
>             update_window_line
>             update_window
>             update_window_tree
>             update_frame
>           - redisplay_internal
>              - 0.63% read_char
>                   read_key_sequence
>          0.10% draw_phys_cursor_glyph
> 
> But the overall effect is that with the overlapping setting, scrolling 
> is sluggish. If there's no overlap, scrolling is smooth, so I think that 
> actually there's a larger difference than the additional 25% CPU usage.

If screen lines overlap with the offending font, then the difference
could be justified, because redrawing one screen line would require
redrawing the two adjacent screen lines.  I'm a bit surprised by the
large performance hit, though, so maybe it's worth looking at the code
which gets run in the slow case, to see maybe some unnecessary work we
are doing in that case.

Do you have very wide windows, per chance?  Does the problem becomes
smaller if you make your frames and windows narrower?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]