9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Iruata Souza" <iru.muzgo@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>
Subject: [9fans] image/memimage speed
Date: Sun, 30 Nov 2008 20:00:33 -0200	[thread overview]
Message-ID: <d1c554290811301400le849f23s3754efb5041cc7f2@mail.gmail.com> (raw)

9fans,

I'm playing with nearest-neighbor image resampling and wrote two
simple implementations - http://tmp.oitobits.net/iru/nn.c,
http://tmp.oitobits.net/iru/nnmem.c - one using draw(2) and the other
using memdraw(2).

running them on the same image on disk shows that nnmem is way faster:

cpu% nnmem acme.wd
spent 0.127344 seconds on resampling
cpu% nn acme.wd
spent 6.111893 seconds on resampling

looking at the code you see nn.c calls unloadimage() to fill oscan
with the data from m; oscan is then used for the interpolation. that
pass is not needed in nnmem.c because of byteaddr() gives us the
address of the first byte of data in m, the memimage in question.

what I'm seeking is a way to avoid the unloadimage() call in nn.c, if
that's possible - which, by my understanding of the manual and code,
is not.
alternatively I could try drawing the memimage to the screen, which I
did not find possible directly, only by converting it to an image.
any ideas?

sorry if I'm missing the obvious.

iru



             reply	other threads:[~2008-11-30 22:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-30 22:00 Iruata Souza [this message]
2008-11-30 23:54 ` Iruata Souza
2008-12-01  1:29   ` erik quanstrom
2008-12-01  1:54     ` andrey mirtchovski
2008-12-01  2:35       ` erik quanstrom
2008-12-01  3:30         ` andrey mirtchovski
2008-12-01  6:41         ` Paul Lalonde
2008-12-01 14:19     ` Steve Simon
2008-12-01 14:33       ` erik quanstrom
2008-12-05  6:39         ` ron minnich
2008-12-05 13:35           ` erik quanstrom
2008-12-05 18:27             ` Russ Cox
2008-12-05 18:32               ` Russ Cox
2008-12-05 18:49                 ` ron minnich
2008-12-05 19:21                   ` Paul Lalonde
2008-12-05 19:25                     ` erik quanstrom
2008-12-05 19:30                       ` Paul Lalonde
2008-12-05 19:40                         ` erik quanstrom
2008-12-05 20:11                         ` ron minnich
2008-12-06  5:52                           ` Paul Lalonde
2008-12-07 17:00               ` Aki Nyrhinen
2008-12-07 23:22                 ` erik quanstrom
2008-12-08  0:17                   ` Aki Nyrhinen
2008-12-01 15:24 plalonde
2008-12-05  5:22 ` sqweek

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=d1c554290811301400le849f23s3754efb5041cc7f2@mail.gmail.com \
    --to=iru.muzgo@gmail.com \
    --cc=9fans@9fans.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 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).