Fastgraph 6.0 Benchmarks

Pre-Release Information

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.

 

Preliminary Results

Fastgraph 6.0 vs. DirectX 7.0

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.

(5) Fastgraph software rendering is faster than D3D hardware rendering. This is an unexpected result. Retested several times. Can't explain it.

(6) We don't yet know why the DirectX version of the benchmark programs won't run on this system.

(7) Hardware rendering of solid polygons not significantly faster than hardware rendering of textured polygons.

(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.

Conclusions

It 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

  • Fastgraph software rendering is faster than Direct3D software rendering. In some cases, more than 1000% faster.

  • The sample represents high-end systems owned by programmers. Several of these systems do not support Direct3D hardware acceleration.

  • Fastgraph (by itself) worked reliably on every system we tested.

  • Solid polygons should be faster to render than textured polygons. That is not always the case. Variations in hardware rendering may be due to the hardware or the driver. I don't know what causes the variations in the D3D software rendering.

    Ratio of Textured Polygons to Solid Polygons
    • 3dfx Voodoo3 (Diana, Mike, Jesse) about 2:1
    • Matrox: (Bart, Ralph) about 1:1
    • ATI Rage: (Digital Revenge, Bo) about 1:1
    • nVidia Gforce DDR: (Dana, David A. John) about 1:1
    • Fastgraph software rendering: about 3:1
    • D3D software rendering: varies from about 1:1 (Peter,Mike) to about 4:1 (Hugh)

  • Z buffering plays a major role in rendering speed. With Direct3D, z buffering may account for about 50% of the total rendering time. With Fastgraph, z buffering may account for about 5% of the total rendering time. (Special thanks go to John De Goes).

Advantages of DirectX

  • You can take advantage of hardware rendering.

  • You can take advantage of hardware blitting.

  • You can change the color depth "on the fly".

Disadvantages of DirectX

  • It doesn't support all video modes (256 colors not available for Direct3D).

  • You are relying on drivers written by video card manufacturers (some are better than others).

  • Direct3D will only run in a full-screen, page-flipping mode.

  • If hardware rendering is not available, Direct3D software rendering is pretty slow.

  • Common reasons for hardware rendering not being available are:

    • D3D not installed or old version installed.

    • No 3D accelerator chip on the video card.

    • Windows NT installed, only works with DX 3.0 or lower.

  • Some programmers find DirectX complicated and difficult to use.

Advantages of Fastgraph with DirectX

  • If DirectX is present, Fastgraph will support it and take advantage of the hardware acceleration.

  • If DirectX is not present, Fastgraph will handle the software rendering and blitting functions.

  • Fastgraph will give a consistent performance regardless of the video card.

  • Fastgraph gives you more functionality.

Advantages of Fastgraph without DirectX

  • Programs more likely to run at a consistent speed on all hardware.

  • No need to worry about the version of DirectX available on the user's system.

  • Smaller distribution and easier installation because you don't need to ship DirectX with your game.

  • You can do rendering in a Window.

Frequently asked questions

Q. 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 System

If 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

 

become a computer game developer

copyright © 2007 Ted Gruber Software inc. all rights reserved.
This page written by Diana Gruber.