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>