[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Redisplay issue
From: |
Yuan MEI |
Subject: |
Re: Redisplay issue |
Date: |
Sun, 29 Nov 2015 15:35:04 -0800 |
> I don't understand how Emacs could redraw only partially, if it
> received the correct coordinates of the exposed region. I might be
> able to understand how nothing could be redrawn, but partially?..
> There's something I'm missing here.
>
> Can you build your own Emacs? The display engine can produce a trace
> of what it does, but it isn't compiled by default. If you can build
> Emacs, then please configure with --enable-checking='yes,glyphs', then
> type "M-x trace-redisplay RET" inside Emacs, and post here everything
> it outputs to stderr starting with "expose_frame" when you succeed to
> reproduce this again.
>
> If you cannot build Emacs, then perhaps you could step with a debugger
> inside expose_frame and its subroutines, and tell what's going one
> there.
This is when redisplay works normally:
>>> right after window exposure
redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)
>>> some time pause here, although nothing else (mouse is outside of Emacs, no
>>> mouse movement or key press)
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
This is when partial redraw happened:
redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
>>> I switched to another virtual desktop then came back, redraw remained
>>> incorrect but the following showed up in the log
redisplay_preserve_echo_area (9)
redisplay_internal 0
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)
>>> switched out and back again, finding the entire frame showing only the
>>> background color, no menu or status bar
redisplay_preserve_echo_area (8)
redisplay_internal 0
redisplay_preserve_echo_area (9)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
expose_frame (0, 0, 170, 1026)
expose_window (1, 1, 168, 1024)
expose_window (1, 0, 168, 0)
expose_window (1, 0, 168, 0)
expose_frame (0, 0, 818, 1026)
expose_window (1, 17, 816, 992)
expose_window (1, 1009, 816, 16)
expose_window (1, 16, 816, 0)
expose_window (1, 0, 816, 16)
>>> a few seconds of time pause, then a few glyphs showed up in the status bar
redisplay_preserve_echo_area (8)
redisplay_internal 0
0x299e030 ( SPEEDBAR): same window start
0x299e030 ( SPEEDBAR): 1
0x1383e60 (*GNU Emacs*): same window start
0x1383e60 (*GNU Emacs*): 1
redisplay_preserve_echo_area (9)
redisplay_internal 0
Any ideas?
Thanks,
Yuan
- Redisplay issue, Yuan MEI, 2015/11/27
- Re: Redisplay issue, Eli Zaretskii, 2015/11/28
- Re: Redisplay issue, Yuan MEI, 2015/11/28
- Re: Redisplay issue, Eli Zaretskii, 2015/11/28
- Re: Redisplay issue, Yuan MEI, 2015/11/28
- Re: Redisplay issue, Eli Zaretskii, 2015/11/28
- Re: Redisplay issue, Yuan MEI, 2015/11/28
- Re: Redisplay issue, Eli Zaretskii, 2015/11/29
- Re: Redisplay issue,
Yuan MEI <=
- Re: Redisplay issue, Eli Zaretskii, 2015/11/30
- Re: Redisplay issue, Yuan MEI, 2015/11/30
Re: Redisplay issue, joakim, 2015/11/28