9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Russ Cox" <rsc@swtch.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] nvidia scrolling performance
Date: Sun, 30 Apr 2006 11:10:20 -0500	[thread overview]
Message-ID: <41e3f50fc059ce546b4855ecfc3bd8ef@swtch.com> (raw)
In-Reply-To: <70c5a0235128a534fa24ca9c28cce7e2@quanstro.net>

> 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



  parent reply	other threads:[~2006-04-30 16:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-29 21:39 erik quanstrom
2006-04-30  4:00 ` jmk
2006-04-30 16:10 ` Russ Cox [this message]
2006-04-30 18:12   ` Steve Simon
2006-04-30 22:34     ` Ronald G Minnich
2006-05-01  6:52       ` Nigel Roles
2006-05-01 19:58         ` Ronald G Minnich
2006-05-01 20:10           ` David Leimbach
2006-05-01  0:30 erik quanstrom
2006-05-01 17:44 ` Russ Cox
2006-05-01 17:57   ` Artem Letko
2006-05-01 19:02     ` Russ Cox
2006-05-01  0:52 erik quanstrom
2006-05-01  1:00 ` Paul Lalonde
2006-05-05 15:46 erik quanstrom
2006-05-05 15:56 ` Paul Lalonde
2006-05-05 16:01   ` David Leimbach
2006-05-05 16:21     ` Paul Lalonde
2006-05-05 16:59       ` David Leimbach
2006-05-05 16:05   ` Wes
2006-05-05 17:07   ` Ronald G Minnich
2006-05-05 17:30     ` Paul Lalonde
2006-05-05 16:08 erik quanstrom
2006-05-05 16:42 ` David Leimbach
2006-05-05 17:22 erik quanstrom
2006-05-05 17:32 ` Paul Lalonde
2006-05-05 18:08 erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41e3f50fc059ce546b4855ecfc3bd8ef@swtch.com \
    --to=rsc@swtch.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).