Received: from watserv1.uwaterloo.ca (watserv1.waterloo.edu) by karazm.math.UH.EDU with SMTP id AA14354 (5.65c/IDA-1.4.4 for ); Sat, 26 Oct 1991 20:13:05 -0500 Received: by watserv1.uwaterloo.ca id ; Sat, 26 Oct 91 21:08:52 -0400 Date: Sat, 26 Oct 91 21:08:52 -0400 From: Dave Stampe-Psy+Eng Message-Id: <9110270108.AA27676@watserv1.uwaterloo.ca> To: glove-list@karazm.math.uh.edu Subject: VGA: 6400 polys/sec OK: so I finally sat down and wrote some polygon (actually, triangle) drawing code for the VGA card. The code spends 70% of its time waiting on the VGA card, so processor speed isn't a big factor. On a 486/25, and a Paradise VGA card, I get 6400 polys/sec, or 156 uS per poly. This is on a 320x200x16 color screen (same as most 3D video games use). I'm not going to post the code now (maybe later) suffice to say, it's assembler embedded in a Turbo C++ program. Uses 32-bit math, so it'll run on 386 and 486 IBM PC's only. This is still borderline for a VR program using BSP-tree techniques: Assume 50% of the time is used for poly drawing, and the polys are 3 deep on the screen on average (this is the usual statistic in the literature) Now, that means 3200 polys/sec (300/sec with interface code) so we can draw 300 polys per frame at 10 frames/sec. This may be somewhat optimistic, as it takes 10.4 mS just to clear the screen and 300 polys will cover less than half the screen (3 deep). More later. Oh, BTW, the benchmark was done with 24x24 triangular shaded polys. - Dave Stampe