www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/30/00:19:44

From: "Steve Gordon" <sgordon AT mich DOT com>
Newsgroups: comp.os.msdos.djgpp,comp.os.msdos.programmer,alt.msdos.programmer,alt.games.programming
Subject: Re: Blit timing - complicated?
Date: 30 Nov 1997 03:55:18 GMT
Organization: mich.com, Inc. Farmington, MI
Lines: 29
Message-ID: <01bcfc7a$846432a0$8b116cc6@default>
References: <65m5fp$k73$1 AT news2 DOT xs4all DOT nl>
NNTP-Posting-Host: pm001-15.dialip.mich.com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

> In a discussion with a friend of mine, he was trying to convince me that
it's
> possible to blit a full 800x600 screen in less than a millisecond. I
tried to
> tell him otherwise, but couldn't quite get my point through :)


Its impossible even in a "perfect" case.
800x600x8bpp = 480,000 bytes of memory = 120,000 long words
Lets assume that your in protected mode, and you can transfer one long word
per PCI cycle (which you cant :) ) to the video card (PCI runs at 33MHz and
has a width of 32 bits or a long word)
120,000 tranfers / 33,000,000 tranfers per second = 3.6 milliseconds.
There are several factors that could affect this "perfect"  scenario 

a) Video memory on the graphics card must be able to accept data that fast.
b) If your not in protected mode, you cant tranfer a whole long word at a
time (without segment size overrides)
c) You cant get flat memory access to the graphic card at 800x600 without
being in protected mode and having a VESA 2.0 card or TSR. So you may have
to bank switch.
d) (I could be wrong on this) Im almost positive that you cant complete one
tranfer/PCI cycle through memory mapped IO (which is what graphics memory
is)
e) You have to have a fast enough computer so that your blitter can
maintain the thoroughput required to tranfer data this fast.


Steve.

- Raw text -


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