Scrolling in framebuffer syscons
Julian Elischer
julian at freebsd.org
Sat Feb 23 21:30:44 UTC 2013
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 at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to
>> "freebsd-hackers-unsubscribe at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to
> "freebsd-hackers-unsubscribe at freebsd.org"
>
More information about the freebsd-hackers
mailing list