[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
@