Subject: Re: bug#52085: 29.0.50; Frame occasionally fails to paint while screen sharing on macOS

From: Aaron Jensen <[email-masked]>
Date: Sat, 23 Jul 2022 10:37:11 -0400

On Sun, Dec 19, 2021 at 4:57 PM Aaron Jensen <[email-masked]> wrote:
>
> On Sun, Dec 12, 2021 at 7:08 AM Alan Third <[email-masked]> wrote:
> >
> > On Thu, Dec 09, 2021 at 02:38:59AM -0500, Aaron Jensen wrote:
> > > On Thu, Dec 9, 2021 at 2:27 AM Eli Zaretskii <[email-masked]> wrote:
> > > >
> > > > > From: Aaron Jensen <[email-masked]>
> > > > > Date: Wed, 8 Dec 2021 16:33:06 -0500
> > > > >
> > > > > > To be honest, if I just want to see when one function is called I
> > > > > > stick in 'NSLog (@"Moo")' or whatever. There's too much output in
> > > > > > NSTRACE and I'm sure that sometimes it doesn't print out results from
> > > > > > things that are called deep in the toolkit code.
> > > > >
> > > > > Well, I can say with some certainty that those messages are the only
> > > > > ones appearing under typical operations like key presses. I can insert
> > > > > newlines into the terminal and observe that only those are emitted
> > > > > when I press keys or even scroll. So the display function is not being
> > > > > called unless there is some other wildness going on with the tracing.
> > > > > Do you expect it to be called every render? (It is also not called
> > > > > when I run M-: (redisplay))
> > > >
> > > > I'm not tracking this discussion, so apologies if what I say below
> > > > makes no sense.  However, the Emacs display engine avoids redrawing
> > > > anything if it concludes that what's on the glass is correct.  So just
> > > > calling 'redisplay', or making some simple changes that don't require
> > > > significant redrawing, don't necessarily result in calls to low-level
> > > > drawing functions, you need to do something drastic to force those
> > > > with 100% certainty.
> > > >
> > > > HTH
> > >
> > > Even toggling between one buffer and another in a window fails to log
> > > anything but:
> > >
> > > nsterm.m  : 6100: [ 2953]  [EmacsView keyDown:]
> > > nsterm.m  : 6393: [ 2954]  | [EmacsView hasMarkedText]
> > > nsterm.m  : 6284: [ 2955]  | [EmacsView insertText:]
> > > nsterm.m  : 6100: [ 2956]  [EmacsView keyDown:]
> > >
> > > I'm probably missing something here...
> >
> > I'm pretty sure it's just the NSTRACE calls not printing anything. As
> > I said previously NSTRACE sometimes doesn't print out results from
> > things that are called deep in the toolkit code. Like display.
> >
> > Manually stick an NSLog into the display function.
>
> Ah, sorry I misunderstood. This worked. There are lots of displays
> happening and I am not seeing the behavior anymore. I'm also on a new
> machine, though I have seen the behavior a couple times on it prior to
> trying this. I'll take the log out and see if it starts happening
> again.
>
> Aaron

Hi Alan,

Unfortunately, I've been seeing rendering artifacts lately. Parts of
one line will be painted over other lines and remain while scrolling.
I think it's similar to what I've seen before. I'm on macOS 12.4 and
Emacs master compiled a couple weeks ago.

I don't have a consistent repro, but one time I notice it is while
switching buffers.

Thanks,

Aaron