Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Mar 2014 08:55:11 -0800
From:      jhibbits@freebsd.org
To:        <freebsd-arch@freebsd.org>
Subject:   newcons fb driver
Message-ID:  <20140302085511.6354f9ac@zhabar.gateway.2wire.net>

next in thread | raw e-mail | index | archive | help
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.

Thoughts?

- Justin



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