Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Feb 2013 13:30:45 -0800
From:      Julian Elischer <julian@freebsd.org>
To:        Phileas Fogg <phileas-fogg@mail.ru>
Cc:        Oleksandr Tymoshenko <gonzo@freebsd.org>, freebsd-hackers@freebsd.org
Subject:   Re: Scrolling in framebuffer syscons
Message-ID:  <51293505.1030706@freebsd.org>
In-Reply-To: <5123D941.2050906@mail.ru>
References:  <511F879C.3030801@mail.ru> <51217854.8000508@freebsd.org> <5123D941.2050906@mail.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/19/13 11:57 AM, Phileas Fogg wrote:
> Oleksandr Tymoshenko wrote:
>> On 2/16/2013 5:20 AM, Phileas Fogg wrote:
>>> Hi,
>>>
>>> i have a question about how the scrolling in a framebuffer syscons 
>>> works.
>>> I'm trying to speed up the syscons on the PS3 console  which is a 
>>> simple
>>> framebuffer syscons.
>>> It uses the renderer _gfbrndrsw_ (see dev/syscons/scgfbrndr.c) to 
>>> draw into
>>> the framebuffer of the PS3 console.
>>> The _gfb_draw_ function implements a simple scrolling that moves 
>>> data from
>>> bottom to top with _vidd_copy_.
>>> And that's where i have a problem because _vidd_copy_ calls the 
>>> function
>>> _ps3fb_copy_ (see powerpc/ps3/ps3_syscons.c).
>>> But the function _ps3fb_copy_ is NOT implemented yet. So, the 
>>> question is how
>>> does the scrolling work then ?
>>> I took a look at other syscons implementation based on a 
>>> framebuffer, and
>>> almost all of them do NOT implement _vidd_copy_
>>> function, e.g. XBOX syscons.
>>
>> I think driver re-renders whole screen character by character. 
>> That's why no
>> copy operation is invoked.
>> _______________________________________________
>> freebsd-hackers@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to 
>> "freebsd-hackers-unsubscribe@freebsd.org"
>
> You are right, syscons is using the teken terminal emulator which 
> implements scrolling in software. The vidd_copy callback is never 
> called. To optimize the PS3 syscons driver, i have to speed up 
> vidd_puts and vidd_putc callbacks.

not sure if it's relevent, but remember that updating the screen mor 
ethan 50 times a second is pointless.
I'm not sure if the curent video console does it but having the final 
copy only done on 50Hz ticks can save a lot of copying.

>
> regards
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to 
> "freebsd-hackers-unsubscribe@freebsd.org"
>




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