[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 :-)
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 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. 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.
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>
LINRADDARNIL