Benchmark Test Description Test 1: Set the system to an 800x600 video mode with a 16-bit virtual buffer or display surface. Draw 2000 cubes, of which 1000 are random and 1000 are displayed at the origin. Cubes consist of 6 solid color polygons. Z buffering is enabled. The z buffer is updated 1000 times (2 cubes per z buffer frame). The system clock is read before and after the rendering loop. Test 2: Set the system to an 800x600 video mode with a 16-bit virtual buffer or display surface. Draw 2000 cubes, of which 1000 are random and 1000 are displayed at the origin. Cubes consist of 6 textured polygons. Z buffering is enabled. The z buffer is updated 1000 times (2 cubes per z buffer frame). The system clock is read before and after the rendering loop. Source code is listed in Chapter 5.  
|
Tester |
Solid Cubes Direct3D Hardware Accelerated |
Solid Cubes Direct3D Software Rendering |
Solid Cubes Fastgraph Software Rendering |
Textured Cubes Direct3D Hardware Accelerated |
Textured Cubes Direct3D Software Rendering |
Textured Cubes Fastgraph Software Rendering |
Hardware Description |
Diana Gruber | 5 | 296 | 22 | 11 | 446 | 81 | AMD K/6 450 mhz, 3Dfx Voodoo3 |
Bart Libert (7) |
7 | 279 | 24 | 7 | 449 | 74 | Pentium II 350, Matrox 6400 Dualhead |
Hugh Reynolds (1) |
38 | 34 | 34 | 135 | 135 | 124 | PentiumII-233, Windows NT SP6, MatroxMGA-2064W B4 R2 (no 3D hardware) |
Todd Porter (1), (2) |
18 | 18 | 16 | 64 | 64 | 57 | Pendium III-500, Windows NT SP6, Diamond Viper nVidia Riva TNT 16mb (no 3D) |
John DeGoes (7) |
2 | 230 | 19 | 2 | 353 | 61 | 400 Mhz PII, Win98, nVidia Riva TNT video card |
Gregg Seelhoff (7) |
15 | 246 | 19 | 20 | 324 | 62 | Dual Pentium II 450 running Windows 2000 Professional 3Dfx Voodoo3 (with secondary ATI 3D Rage II+) |
Gregg Seelhoff (4) |
22 | 193 | 19 | 73 | 351 | 63 | Dual Pentium II 450 running Windows 2000 Professional ATI 3D Rage II+ (with secondary 3Dfx Voodoo3) |
Gregg Seelhoff (5) |
116 | 238 | 20 | 149 | 366 | 62 | Dual Pentium II 450 running Windows 98se ATI 3D Rage II+ (with secondary 3Dfx Voodoo3) |
Gregg Seelhoff | 25 | 460 | 64 | 48 | 870 | 164 | Pentium 233MMX running Windows 2000 Professional ATI Rage Pro |
Gregg Seelhoff | 2 | 241 | 20 | 9 | 375 | 63 | Pentium II 400 running Windows 98 3D Blaster Banshee |
Gregg Seelhoff (6) |
- | - | 422 | - | - | 1487 | Intel 486DX2-66 running Windows 98 ATI Graphics Ultra Pro |
Mike Kelleghan | 6 | 516 | 34 | 11 | 644 | 80 | 3DFX Voodoo3 PCI, AGP Version 001, Driver 3-20-99 Pentium II (Celeron) 400 |
David Astle (7) |
2 | 152 | 13 | 1 | 243 | 33 | 700 Mhz Athlon, 256 MB RAM, GeForce DDR, Win98 |
Ralph Povilaitis (7) |
24 | 343 | 30 | 28 | 517 | 97 | Celeron 366 (458), Matrox G200 8 megs |
Digital Revenge (7) |
16 | 262 | 22 | 17 | 373 | 67 | Pentium/CeleronA with MMX 300Mhz, ATI Rage Pro Turbo 2xAGP 4Mb |
Peter Diotte
(8) |
115 | 1006 | 63 | 210 | 1292 | 172 | Compaq Presario 1250 laptop with AMD-K6 chip, 64 meg ram |
Peter Diotte
(3) |
- | - | 72 | - | - | 142 | 466 Celeron, Win 98, video: SiS 620 (1/7/99) |
Peter Diotte
(3) |
- | - | 125 | - | - | 215 | Gateway P5-200, 64meg ram, video=ATI All-In-Wonder card version 065 |
Rosemary West
(3) |
- | - | 27 | - | - | 75 | Celeron, unknown video card, Win 95. |
Jesse Chounard
|
7 | 536 | 74 | 13 | 1013 | 204 | Pentium 200 MMX, Voodoo 3 2000, 32 Megs RAM, SB Live |
Dana Dominiak
(7) |
2 | 143 | 9 | 1 | 232 | 31 | AMD-K7 700 MHz NVidia GForce DDR-DVI Windows 98 |
Bo
(7) |
16 | 330 | 29 | 16 | 476 | 82 | Win98, CPU P2-333Mhz, 64MB RAM, ATI Rage Pro Turbo AGP 2X |
Bo
(5) |
125 | 215 | 17 | 165 | 316 | 61 | P3 450Mhz, 128MB RAM, ATI Rage II PCI |
Aaron
|
2 | 236 | 19 | 2 | 366 | 69 | PII 400, 160Mb, "32Mb 100MHz Unknown Graphics Card", Win98 |
David Freeman
|
5 | 471 | 17 | 9 | 631 | 124 | Soyo AMD K6-2 450MHz, Win95c, 128MB,Voodoo 3 3000 PCI 16MB |
David Freeman
|
17 | 207 | 17 | 16 | 310 | 55 | Dell Pentium III 500 MHz, Win98 a, 128MB, Rage Pro Turbo AGP 2X |
David Freeman
(3) |
- | - | 16 | - | - | 59 | Dell Dual Pentium III 500MHz, NT sp 5.0, 256MB, Matrox G400 32MB DirectX not installed at the factory!! |
Scott LeGrande
(3) |
- | - | 17 | - | - | 61 | WinNT, temporarily a Riva TNT 16 megs, P3-500, 256M |
Scott LeGrande
|
2 | 225 | 19 | 2 | 317 | 57 | P3-500, Win98 Release2, Riva TNT, 256M |
Notes: (1) Direct3D hardware rendering not available. This version of Windows NT supports DirectX at version 3.0 or lower, which does not include support for rendering triangle primitives in the hardware. Program defaults to Fastgraph software rendering. (2) Direct3D hardware rendering not available. This video card does not support hardware accelerated 3D rendering. Program defaults to Fastgraph software rendering. (3) DirectX not installed. A DirectX program will not run at all.
(4)
Direct3D hardware rendering not available. Unknown cause. Possibly because this is a
dual monitor system. Program defaults to Fastgraph software rendering.
(8)
I think what is happening here is 3D hardware is unavailable, so Fastgraph is
doing software rendering with DirectDraw blitting. The reason Fastgraph with
DirectDraw is slower than the native Fastgraph version is because the surface is being
continuously locked and unlocked within the rendering loop. You can override that with
fg_ddlock() and fg_ddunlock() outside the loop. This does not affect the speed of
the D3D software rendering or D3D hardware rendering versions, because I
think the fg_ddframe() function (which calls Direct3D's BeginScene and
EndScene methods) takes care of this.
|
ConclusionsIt is too early to draw conclusions from this table. Fastgraph 6.0 is still under development, and we need to do a lot more testing. On the other hand, it may be appropriate to list some observations based on the information we have so far.
Observations
Advantages of DirectX
Disadvantages of DirectX
Advantages of Fastgraph with DirectX
Advantages of Fastgraph without DirectX
Frequently asked questionsQ. Why is Fastgraph's software rendering and z buffering so much faster than Direct3D's?A. Fastgraph was written in highly optimized assembly language. I don't know anything about how Direct3D was written (but I think it might have something to do with C++). Q. Why do we care about software rendering? Don't all modern games have to support hardware acceleration? A. To be competitive these days, a game needs to support hardware acceleration. But if you neglect the systems that don't support hardware acceleration, a significant number of your users will be running your game at a slow speed. Q. What percent of systems do not support hardware rendering? A. It's difficult to say. Some people buy very cheap computers (around $300 when you sign up for 3 years internet service). Other people still have computers with Windows NT installed. Q. Do people who have cheap computers, or computers running Windows NT, buy a lot of games? A. That's a very good question. It is definitely something to consider.
Benchmark Your SystemIf you want to run the benchmark tests on your system, please email Diana Gruber at dgruber@fastgraph.com. |
 
For more information about Fastgraph 6.0, see the tutorial:
Introduction
Chapter 1 |
Chapter 2 |
Chapter 3
Chapter 4 |
Chapter 5 |
Chapter 6 |
Chapter 7
Appendix 1 |
Appendix 2 |
Appendix 3
Fastgraph Home Page