Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jun 2016 07:23:38 -0700
From:      Maxim Sobolev <sobomax@freebsd.org>
To:        Ed Schouten <ed@nuxi.nl>
Cc:        Ernie Luzar <luzar722@gmail.com>, Kurt Jaeger <lists@opsec.eu>,  =?UTF-8?Q?Trond_Endrest=C3=B8l?= <Trond.Endrestol@fagskolen.gjovik.no>,  FreeBSD current <freebsd-current@freebsd.org>
Subject:   Re: console in 11.0-ALPHA4
Message-ID:  <CAH7qZfs6s6UsbWtxJ1zqkAqU0eEdxmjDA79zxXJReHx3=k59Tg@mail.gmail.com>
In-Reply-To: <CAH7qZfuoO-wQ0JNxCwqvJYdfHJC-FWz=1pWJVdk6vHRaEVX77w@mail.gmail.com>
References:  <57680D69.7030309@gmail.com> <alpine.BSF.2.20.1606201832250.1240@mail.fig.ol.no> <20160622090149.GD19494@home.opsec.eu> <576A74D0.2020704@gmail.com> <CAH7qZfuWdx9CAX-UJwJjh0u8HqCYFrUxDr3F9gbUoLo3Ss-bnQ@mail.gmail.com> <CABh_MKm8bxB_vFSw4Spcmt8ZA2htbEzXXEnkqcooowuPOifMzw@mail.gmail.com> <CAH7qZfuoO-wQ0JNxCwqvJYdfHJC-FWz=1pWJVdk6vHRaEVX77w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
P.S. Asynchronous nature of vt is also a poor excuse in my view. There are
plenty ways to do it asynchronously, while preserving updates order. It
should not be one-or-the-other deal.

On Thu, Jun 30, 2016 at 7:21 AM, Maxim Sobolev <sobomax@freebsd.org> wrote:

> Ed, I think this is bug, not a feature. People expect scrolling and
> updates to be smooth these days, the fact that we deliberately break it
> just signifies very weird preferences somebody made while developing the
> code. The fact that it "looks fine when scrolling stops" is no execuse IMHO.
>
> -Max
>
> On Thu, Jun 30, 2016 at 6:42 AM, Ed Schouten <ed@nuxi.nl> wrote:
>
>> Hi Maxim,
>>
>> 2016-06-28 21:14 GMT+02:00 Maxim Sobolev <sobomax@freebsd.org>:
>> > P.S. Just if somebody is interested in fixing those "fast scrolling text
>> > turns into garbage" display issues, here is some screenshots of one of
>> my
>> > 11-alpha3 systems captured with a camera at 120fps. As you can see text
>> > tears down quite badly.
>>
>> What happens is that rendering of vt(4) is done asynchronously. In
>> addition to the screen contents, vt(4) keeps track of a rectangular
>> area of the screen that needs to be updated. During every refresh, the
>> rendering thread extracts and resets the coordinates of the
>> rectangular area and redraws that area. It only holds a lock while
>> extracting the rectangle's coordinates; not when redrawing.
>>
>> This means that if you have a lot of updates and redrawing is slow,
>> you will get 'random' garbage on screen. Once output stops, the screen
>> contents get refreshed one final time, making everything look all
>> right again.
>>
>> --
>> Ed Schouten <ed@nuxi.nl>
>> Nuxi, 's-Hertogenbosch, the Netherlands
>> KvK-nr.: 62051717
>>
>>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAH7qZfs6s6UsbWtxJ1zqkAqU0eEdxmjDA79zxXJReHx3=k59Tg>