From owner-freebsd-hackers@FreeBSD.ORG Sat Feb 23 21:30:44 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AB823590; Sat, 23 Feb 2013 21:30:44 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) by mx1.freebsd.org (Postfix) with ESMTP id 5E2F3652; Sat, 23 Feb 2013 21:30:44 +0000 (UTC) Received: from JRE-MBP-2.local (c-98-210-232-101.hsd1.ca.comcast.net [98.210.232.101]) (authenticated bits=0) by vps1.elischer.org (8.14.5/8.14.5) with ESMTP id r1NLUgSM049140 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sat, 23 Feb 2013 13:30:43 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <51293505.1030706@freebsd.org> Date: Sat, 23 Feb 2013 13:30:45 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Phileas Fogg Subject: Re: Scrolling in framebuffer syscons References: <511F879C.3030801@mail.ru> <51217854.8000508@freebsd.org> <5123D941.2050906@mail.ru> In-Reply-To: <5123D941.2050906@mail.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Oleksandr Tymoshenko , freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 21:30:44 -0000 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" >