9front - general discussion about 9front
 help / color / mirror / Atom feed
From: hiro <23hiro@gmail.com>
To: 9front@9front.org
Subject: Re: [9front] /dev/draw performance
Date: Mon, 30 Nov 2020 15:09:58 +0100	[thread overview]
Message-ID: <CAFSF3XOLA+yKq7r-dJaQ89xcKpnQUuodJiuroSaPSJnO6OfDig@mail.gmail.com> (raw)
In-Reply-To: <X8TkBbVH8xQln7dv@alice>

thanks for doing my basic research anthony, i'm not sure this answers
my questions, certainly it adds more questions on my side. :P

what i'm curious about is why they changed from blit to draw protocol,
especially since a lot of details about draw seem very similar to
blit, so i see the historical connection very well, but then what made
it necessary to break compatibility on the blit layer and start anew
with a similar but incompatible /dev/draw ?

and why the /dev/winname vs. /dev/mouse dance in /dev/draw ?

when draw in brazil was just plain userland, was it a fileserver? or
just library calls like in p9p ?

On 11/30/20, Anthony Martin <ality@pbrane.org> wrote:
> hiro <23hiro@gmail.com> once said:
>> regardless i would love to hear the actual personal reasons. cause i'm
>> curious. and want to understand and learn from their vision, and
>> possibly a kind of pragmatism they applied that I still lack in this
>> regard.
>>
>> i am waiting for a good excuse. i asked for it on 9fans, but nobody
>> came to admit having written the code in the first place.
>> if you are on better speaking terms... there's lots of people like me
>> eager to listen to their answers.
>
> Ethan needs to quell his urge to opine on unfamiliar matters.
>
> Hiro needs to learn how to do basic research.
>
> 	To: 9fans@cse.psu.edu
> 	Subject: Re: [9fans] was 8½ slow and that lead to rio?
> 	From: "rob pike" <rob@plan9.bell-labs.com>
> 	Date: Wed, 30 Jan 2002 11:18:28 -0500
>
> 	Rio was written for Brazil, in which the kernel had no graphics at
> 	all, and all graphical operations were done in user mode and then
> 	blasted as raw pixels onto the screen.  That became untenable at low
> 	bandwidth, so when we put the draw operator in, the graphics
> 	functionality went back in the kernel as a stopgap.  I hope it doesn't
> 	stay there, but it was an easy way to focus on the interesting
> 	problems.
>
> 	There are three reasons that rio doesn't multiplex the graphics: 1)
> 	history, as mentioned above; 2) speed; 3) to avoid the code bloat.
> 	Much of 8½'s source code involved grubbing around and rewriting
> 	graphics messages for the clients.  This meant that the graphics code
> 	was scattered between library, kernel, and window system.  Rio avoided
> 	all that gunk and doesn't need to change if the graphics interface
> 	changes, as it has a couple of times.  It's a huge improvement.
>
> 	So the real answer is engineering, not performance.
>
> 	-rob
>
> What do I need to do?
>
>   Anthony
>

  reply	other threads:[~2020-11-30 14:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30  8:03 Steve Simon
2020-11-30  9:34 ` hiro
2020-11-30 12:22   ` Anthony Martin
2020-11-30 14:09     ` hiro [this message]
2020-11-30 18:40 ` Ethan Gardener
2020-11-30 18:59   ` Stanley Lieber
2020-11-30 19:01     ` Ethan Gardener

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=CAFSF3XOLA+yKq7r-dJaQ89xcKpnQUuodJiuroSaPSJnO6OfDig@mail.gmail.com \
    --to=23hiro@gmail.com \
    --cc=9front@9front.org \
    /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).