[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linrad] Re: Windows graphics



> >After some off-list communications with Alberto, Linrad
> >now writes to a memory buffer and then uses "blitting"
> >(The Microsoft wording for transfering a buffer)
> >
> >
> Bill Gates cannot claim to have invented that word... when I worked in
> the Image Processing Dept. of IBM in the eighties, we used already that
> term, and Billy the Kid at that time was in search of a DOS to steal and
> resell at high price to Bob Estridge, the father of the original IBM
> Personal Computer... windows in those years were the things that allowed
> to see the sunny grass outside the office :-)
Oooh! This just shows how ignorant I am in computing. I have never
seen the word "blitting" before so I made an incorrect assumption.

> >The screen update is now very fast, but the problem is not
> >solved because the SepPixel function is extremely slow
> >also on the memory bitmap. Filling a 100 by 700 pixel area
> >takes 2.16 seconds (3 microseconds per pixel, 300kHz) so
> >each SetPixel uses something like 3000 clock cycles.
> >
> >
> Hmmm, it looks like you first want to fill the entire waterfall buffer,
> then do a blitting on the screen. My suggestion is to use SetPixel to
> fill just one row, then do a blitting. Then scroll your in-memory buffer
> by just one row, use again SetPixel to fill the row that now has vacated
> and repeat the process. This will result in a smooth scrolling and in a
> much higher refresh rate.
I find smooth scrolling useless because it is very hard to lock ones
eyes to weak structures that move continously on the screen. I have found it
very much better to fill the waterfall at the top and then scroll the entire
waterfall by about 10% of the entire area filling the top with black. Presumably
this can be done with windows high level commands but it would not help much
because there are also plenty of other real time functions Linrad has to
be capable of drawing rapidly.


> >I am glad I started under Linux. Reasonably fast graphics under
> >Windows seems really complicated.
> >
> >
> Have you tried to do the same with X-Windows under Linux ? It is not
> simpler than with Windows.
No, I do not see any reason. Anyone capable of getting Linux
running should also be capable of installing svgalib.....


> Of course SVGALIB is much more
> straightforward, but SVGALIB is a remnant of the command line times... a
> graphical user interface integrated with the operating system, be it
> Linux or Windows, requires an event-driven model also for the graphical
> aspects.
Hmmm, Linrad-2.00 is event driven. As a response to the signal that a
block of data is available, the screen thread wakes up and moves the
points or lines of a curve on the screen to new positions. Under Linux
the behaviour is like a good old analog oscilloscope which is highly
desireable in some cases. I can not see why the response to an event
could not be waking up a thread that manipulates bits in a buffer. If
such a thing really is incompatible with Windows I will just call the
project off and stay with Linux as the only supported operating
system for Linrad.

73

Leif




>
> 73  Alberto  I2PHD
>
>
>
> #############################################################
> This message is sent to you because you are subscribed to
>   the mailing list <linrad@xxxxxxxxxxxxxxxxxxxxx>.
> To unsubscribe, E-mail to: <linrad-off@xxxxxxxxxxxxxxxxxxxxx>
> To switch to the DIGEST mode, E-mail to
> <linrad-digest@xxxxxxxxxxxxxxxxxxxxx>
> To switch to the INDEX mode, E-mail to
> <linrad-index@xxxxxxxxxxxxxxxxxxxxx>
> Send administrative queries to  <linrad-request@xxxxxxxxxxxxxxxxxxxxx>
>


#############################################################
This message is sent to you because you are subscribed to
  the mailing list <linrad@xxxxxxxxxxxxxxxxxxxxx>.
To unsubscribe, E-mail to: <linrad-off@xxxxxxxxxxxxxxxxxxxxx>
To switch to the DIGEST mode, E-mail to <linrad-digest@xxxxxxxxxxxxxxxxxxxxx>
To switch to the INDEX mode, E-mail to <linrad-index@xxxxxxxxxxxxxxxxxxxxx>
Send administrative queries to  <linrad-request@xxxxxxxxxxxxxxxxxxxxx>

LINRADDARNIL