Mail Archives: djgpp/1996/08/16/09:30:08
John Meilleur wrote:
>
> > If at all possible, arrange to not have to clear the parts of the
> > screen that are overwritten anyway. 640*480 makes for a lot of bytes.
> > Don't write to them twice if you can.
> >
> > For clarity's sake, I'd just use memset instead of the first asm,
> > and fmemcpy on the second. Well , *I* wouldn't, but I recommend it
> > anyway.
>
> Thanks a million! I tried it out and man was there ever a speed
> increase.
> One of my next issues to tackle is to have minimal overdraw. The asm
> will be fine with me cause I understand Intel assembler but I defintly
> need work with my AT&T asm. THANX!
>
> -John Meilleur
> meilleuj AT cadvision DOT com
Why not use something like this ...
#define SCREEN_XFERS 16000
#define VRAM_LOC
void Draw_A_Screen(char* data)
{
_dosmemputl(data,SCREEN_XFERS,VRAM_LOC);
}
This would work for a mode 13h screen (could be modified for any mode)
it would write 32 bits at a time and there is no slow for loop!
John Luebs <jkluebs AT sprynet DOT com>
- Raw text -