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>