lkml.org 
[lkml]   [1999]   [Dec]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Announce: DinX windowing system 0.2.0
On Fri, 24 Dec 1999, Lucca wrote:

> Performance currently resembles the old manual etch-a-sketch devices, but
> that is being worked on. Ultimately performance should be virtually the
> same as using a framebuffer directly.

Right. Just to clarify, performance is currently horrible on PC hardware
because we read (memmove) from the framebuffer a lot when dragging windows
around. And it seems PC hardware does this really slowly.

DinX is designed with small systems in mind, many of which have the video
buffer in main DRAM, and no 2D accel. (I'm thinking of my favourite ARM
parts, like the ARM7500, CL-PS7110, EP7211 etc.) On these, reading the
buffer is as fast as any other memory, so DinX should work fine the way it
is now.

> It doesn't add a "window manager" to the frame buffer or anything like
> that. Think of it instead as a framebuffer multiplexer; if written to use
> dinx, multiple framebuffer apps can coexist happily. Dinx does not
> provide goodies like internal windows, sprites, transparency/translucency,
> etc. Those have to be done in userspace.

Right. The idea is just to take clipping and blitting out of the server
process and put them in the kernel, to avoid lots of context switches and
big complex buffering code.

Something else I should mention: The clipping code performs no memory
allocations, so drawing keeps off the heap. When an obscuring window
splits a rectangular blit into two rectangles, the routine recurses for
each, so the complexity of the visible area goes on the stack. Now, how
much stack space does the kernel have? :)

Cheers,

- Ben.

-------------------------------------------------------------------
Ben Williamson benw@pobox.com http://www.pobox.com/~benw/




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.086 / U:0.880 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site