[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lin
From: |
Kai Ma |
Subject: |
bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS |
Date: |
Fri, 9 Jun 2023 10:42:08 +0800 |
> On Jun 9, 2023, at 01:22, Alan Third <alan@idiocy.org> wrote:
>
> On Thu, Jun 08, 2023 at 10:57:43PM +0800, Kai Ma wrote:
>>
>>
>>> On Jun 8, 2023, at 21:42, Kai Ma <justksqsf@gmail.com> wrote:
>>>
>>>
>>>> On Jun 8, 2023, at 20:51, Alan Third <alan@idiocy.org> wrote:
>>>>
>>>> I've got two things it could be worth trying to see if they make any
>>>> difference.
>>>> Change the CACHE_MAX_SIZE to something greater than 2, probably 4 is a
>>>> good number. That would rule out some sort of locking problem, as it
>>>> would reduce the chance a surface would be re-used before it's been
>>>> sent to the screen.
>>>>
>>>> The downside of this is probably going to be an increase in "lag"
>>>> because it's possible to have more surfaces "in-flight".
>>>>
>>>> The other option is to remove this call (nsterm.m:10636):
>>>>
>>>> /* Schedule a run of getContext so that if Emacs is idle it will
>>>> perform the buffer copy, etc. */
>>>> [self performSelectorOnMainThread:@selector (getContext)
>>>> withObject:nil
>>>> waitUntilDone:NO];
>>>>
>>>> I think this is harmless, but it's in there as I *assume*, with
>>>> absolutely no proof, that it will improve performance and it seems
>>>> possible (but I think unlikely) that it may affect the sequencing of
>>>> surface operations.
>>>
>>> Tested locally. I can confirm that removing
>>> performSelectorOnMainThread (with CACHE_MAX_SIZE = 2) fixes the
>>> problem for me. I now observe zero glitches or tearings!
>>>
>>
>> Sorry, I concluded too fast. I can still see tearings, though very
>> rarely. So this is still not a real fix. :-(
>
> Try increasing CACHE_MAX_SIZE too. Tearing would, I believe, be
> because a surface is being reused while it's still being copied to the
> VRAM, so you'll see a partially modified output.
>
> If increasing CACHE_MAX_SIZE fixes it then there are a couple of
> possible options we can look at.
Increasing CACHE_MAX_SIZE alone doesn’t seem to help much.
(Screencast: https://www.youtube.com/watch?v=9YD9jyP-GKw)
Increasing CACHE_MAX_SIZE + Removing performSelectorOnMainThread seems to be
better but I can’t be sure. Just observed:
(1) M-< at the mid of a buffer, but only the first line of the view is
refreshed, and other parts were still there.
(2) selecting a region doesn’t always clear the hl-line effect.
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Alan Third, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Alan Third, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS,
Kai Ma <=
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/08
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Alan Third, 2023/06/09
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/09
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Alan Third, 2023/06/09
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/12
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/15
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/19
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Kai Ma, 2023/06/24
- bug#63187: 30.0.50; Tail of longer lines painted after end of nearby lines on macOS, Aaron Jensen, 2023/06/24