All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Antonino A. Daplas" <adaplas@hotpop.com>
To: David Eger <eger-dated-1086874014.cda599@theboonies.us>,
	David Eger <eger-sender-da68b9@theboonies.us>,
	Thomas Winischhofer <thomas@winischhofer.net>
Cc: David Eger <eger@havoc.gtf.org>, linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Re: [PATCH] sisfb accel capabilities
Date: Thu, 3 Jun 2004 23:07:08 +0800	[thread overview]
Message-ID: <200406032307.08205.adaplas@hotpop.com> (raw)
In-Reply-To: <1086269209.40bf27191fe1c@mail.theboonies.us>

On Thursday 03 June 2004 21:26, David Eger wrote:
> Quoting Thomas Winischhofer <thomas@winischhofer.net>:
> > David Eger wrote:
> > > The following patch updates sisfb for the new fb accel capabilities
> > > patch I'm sending upstream.  By default, this patch will rely on your
> > > copyarea() and fillrect() accel functions instead of the panning.
> >
> > Could you give me any hint why this should be faster than panning?
>
> The logic to prefer copyarea()/fillrect() to panning is in the main patch. 
> If panning is faster than using these for most cards, then the default when
> both are available should be panning as you say.  But I'll need numbers to
> determine that ;-)  I think many drivers just map a chunk of video ram just
> big enough for the requested resolution, so panning does zero for them :-/

I have benchamarked them before (sometime last year).  Panning (with vyres at 
least 2x yres) is significantly faster than without panning.  If I remember 
correctly, I tested at 1024x768, 8bpp, vyres = 4*yres, all drawing functions 
are accelerated.  Without panning, 'time cat /usr/src/linux/Documentation' 
finished in around 2 seconds.  With panning, it was done in 0.5 sec.

And if vyres = yres, then the driver should disable the panning/wrapping flag.  
Or fbcon should at least recognize that panning may be impossible or not very 
efficient if vyres < yres*2.

>
> > 1) fillrect and copyarea WERE (resp. ARE) being called here despite your
> > previous statement that they were not. Fillrect is used to clear every
> > line after pressing enter, and copyrect was used to copy the buffer to
> > the start of the virtual screen when the end was reached.)
>
> bizarre.  For radeonfb, fillrect() was called to clear the last line as you
> say, but copyarea() never was.  I'll have to dig back through the old code
> to really grok your statement.

Yes, this is true.  Once you've scrolled down to the end of virtual memory, 
the last screenful of data will be copied to the beginning of the 
framebuffer.  Then the whole scrolling process starts all over again. 

(This is what I was trying to point out before, panning will always involve a 
copyarea.  Also, instead of copying, maybe  the last screenful of data can be 
redrawn.  Advantage to framebuffers which has panning but with slow fb reads.  
Currently, the latter is not available).
  
Tony




-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the one
installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504

  reply	other threads:[~2004-06-03 15:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-03  2:44 [PATCH] sisfb accel capabilities David Eger
2004-06-03  9:52 ` Thomas Winischhofer
2004-06-03 13:26   ` David Eger
2004-06-03 15:07     ` Antonino A. Daplas [this message]
2004-06-03 16:40     ` Thomas Winischhofer
2004-06-03 17:08       ` David Eger
2004-06-06 11:19         ` Geert Uytterhoeven
2004-06-06 13:19           ` Thomas Winischhofer
2004-06-06 11:08   ` Geert Uytterhoeven

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=200406032307.08205.adaplas@hotpop.com \
    --to=adaplas@hotpop.com \
    --cc=adaplas@pol.net \
    --cc=eger-dated-1086874014.cda599@theboonies.us \
    --cc=eger-sender-da68b9@theboonies.us \
    --cc=eger@havoc.gtf.org \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=thomas@winischhofer.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.