delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/06/21/10:08:18

Message-Id: <199906211407.QAA20050@deimos.worldonline.nl>
From: "Bart Alewijnse" <scarfman AT geocities DOT com>
To: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Cc: <djgpp AT delorie DOT com>
Subject: Re: Screen copy
Date: Mon, 21 Jun 1999 16:05:29 +0200
X-MSMail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com

This is a multi-part message in MIME format.

------=_NextPart_000_01BEBBFF.E23DAD20
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

> On 20 Jun 1999, Bart Alewijnse wrote:
> 
> > How do you copy a double buffer to the screen the fastest?
> 
> If the buffer is contiguous, then use library function `dosmemput'
when wouln't it be? Are you implying unchained mode?

> (it's documented in the library reference).  It already uses the
> fastest assembly instructions possible.
Including the move-the-aligned-stuff-and-stick-on-the-odds-and-ends
thing? I suppose so huh...

> > Are there any other ways to do this? What's a fast one/the fastest?
> > I suppose that for the LFB it'd just be memcpy
> 
> `dosmemput' uses essentially the same code as `memcpy', except that it
> ``wastes'' a single instruction to load _dos_ds into a segment
> register before commencing the transfer.
Which has a near-zilch effect since that's one or so clock when
moving k's of data per frame... Alright then...

> If you are really interested in knowing the innards of library
> functions, I suggest to download djlsr202.zip and study their
> sources.
Will do.. 

And thanks.

-Bart
------=_NextPart_000_01BEBBFF.E23DAD20
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html><head></head><BODY bgcolor=3D"#FFFFFF"><p><font size=3D2 =
color=3D"#000000" face=3D"Arial">&gt; On 20 Jun 1999, Bart Alewijnse =
wrote:<br>&gt; <br>&gt; &gt; How do you copy a double buffer to the =
screen the fastest?<br>&gt; <br>&gt; If the buffer is contiguous, then =
use library function `dosmemput'<br>when wouln't it be? Are you implying =
unchained mode?<br><br>&gt; (it's documented in the library reference). =
&nbsp;It already uses the<br>&gt; fastest assembly instructions =
possible.<br>Including the =
move-the-aligned-stuff-and-stick-on-the-odds-and-ends<br>thing? I =
suppose so huh...<br><br>&gt; &gt; Are there any other ways to do this? =
What's a fast one/the fastest?<br>&gt; &gt; I suppose that for the LFB =
it'd just be memcpy<br>&gt; <br>&gt; `dosmemput' uses essentially the =
same code as `memcpy', except that it<br>&gt; ``wastes'' a single =
instruction to load _dos_ds into a segment<br>&gt; register before =
commencing the transfer.<br>Which has a near-zilch effect since that's =
one or so clock when<br>moving k's of data per frame... Alright =
then...<br><br>&gt; If you are really interested in knowing the innards =
of library<br>&gt; functions, I suggest to download djlsr202.zip and =
study their<br>&gt; sources.<br>Will do.. <br><br>And =
thanks.<br><br>-Bart</p>
</font></body></html>
------=_NextPart_000_01BEBBFF.E23DAD20--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019