From: "Steve Gordon" 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 Precedence: bulk > 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.