Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Mar 2014 02:48:37 -0800
From:      Julian Elischer <julian@freebsd.org>
To:        freebsd-arch@freebsd.org
Subject:   Re: newcons fb driver
Message-ID:  <53145E05.1070207@freebsd.org>
In-Reply-To: <20140302085511.6354f9ac@zhabar.gateway.2wire.net>
References:  <20140302085511.6354f9ac@zhabar.gateway.2wire.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/2/14, 8:55 AM, jhibbits@freebsd.org wrote:
> I've been looking into the slowness of the newcons framebuffer backend,
> and after discussing with Nathan Whitehorn, we've determined that the
> slowness is caused by single byte writes to the framebuffer, which are
> very much suboptimal.  His conclusion is that, on nVidia hardware, the
> card first performs a read, a very slow operation on the hardware, then
> a single-byte write, and I'm thinking the same.  So, to accomodate this
> limitation, I have a question and proposal:
>
> (q) From looking at the code, it appears to support, to some degree, a
> background image (the character blitting uses a mask, it doesn't just
> write background in that mask).  Is this truly the case?
>
> (p) If it is the case that it supports a background image, I'm thinking
> it would make sense to buffer the framebuffer, such that we write to
> the internal representation, and blit whole words or lines at a time
> to the hardware. With an 8-bit buffer, at 1920x1080 (common resolution)
> we would be using approximately 2MB for the buffer.  On memory
> constrained devices this can be quite significant, so it becomes a
> tradeoff.
oh how history repeats itself.. hit this  in the newcons driver (never 
completed) in 1993.

the oldest hardware had this problem..
solution:
  keep a virtual framebuffer and update the hardware (only lines that 
changed) on 1/50 of a second ticks...
(or some other timer value faster than that)

requires keeping the data in smaller subbuffers to track whether the 
entire creen needs ot be updated.

>
> Thoughts?
>
> - Justin
> _______________________________________________
> freebsd-arch@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
>




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