From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <41e3f50fc059ce546b4855ecfc3bd8ef@swtch.com> To: 9fans@cse.psu.edu Subject: Re: [9fans] nvidia scrolling performance From: "Russ Cox" Date: Sun, 30 Apr 2006 11:10:20 -0500 In-Reply-To: <70c5a0235128a534fa24ca9c28cce7e2@quanstro.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 4b4267d6-ead1-11e9-9d60-3106f5b1d025 > the only obvious difference i see between the plan 9 driver and the xf86 stuff is > that the xf86 stuff tries to buffer dma access a bit. is ths the key, or should i be looking > at something else? This isn't the nvidia driver. The problem is that you're using greyscale fonts. That requires dropping into the generic alpha code instead of using the boolean alpha code that regular character drawing uses. The boolean alpha code avoids some multiplies, which helps a little, and also avoids reading from the frame buffer memory, which helps a *lot*. Frame buffer memory is very very slow to read from, and not just on nvidia. When I did some timings six years ago, I found that reading from frame buffer memory was slower than reading from disk. I'm sure the situation hasn't gotten better. It's not on the fast path for any other system, so the vendors just don't care. Now that memories have gotten bigger, it might be worth keeping a copy of the screen image like in the X port, but it's not clear to me how to reconcile that with using acceleration. Greyscale fonts are slow and ugly. For more than occasional use, just don't do it. Russ