A downloadable benchmark

Download NowName your own price

This is a hommage to all the classic DOS benchmark programs and DOS games in general. It's also recycling (and improving upon) a small toy ray tracer I wrote in 2022.

Hardware required

  • IBM PC or 100% compatible (i586 or newer recommended)
  • VGA-compatible graphics card (VBE 2.0-compatible card recommended)
  • Optional: PS/2 or serial mouse + mouse driver (e.g. CuteMouse)

ChangeLog

Version 2.1:

  • Add detection and warning for Voodoo cards (buggy BIOS / VESAFIX)
  • Fix byte order for 24bpp modes (fixes red/blue swap)
  • Add checks for bit/byte order, filter incompatible modes

Version 2.0:

  • Fixed text (DOS Game Jam year)
  • Add support for 24 bpp and 16 bpp VESA modes
  • Add support for 640x480, 800x600 and 1024x768 modes
  • Add benchmarking support for VGA fallback mode
  • Add dialog to choose resolution/depth on startup
  • Display benchmark results on exit (if benchmark completed)

Controls

For benchmarking, don't user the controls, just let the program render the scene fully -- you'll notice when the benchmark value stops changing that the whole scene was rendered and the score set.

If you want to explore the scene and play around with different perspectives, you can use the mouse or keyboard for navigation.

Mouse controls:

  • Press left mouse button + drag = look around (tilt camera)
  • Press right mouse button + drag = navigate/fly (forward/sideways)

Keyboard controls:

  • Forward/sideways using W, A, S, D
  • Levitate up/down using Q, E
  • Rotate/tilt using I, J, K, L

To reset the scene if you get lost, press "R". This will also restart the benchmark with the default settings, so your score is comparable.

To exit the app, first press ESC to bring up the exit menu, then either confirm with ENTER or press ESC acan to close the exit menu again.

VGA Fallback

In case your graphics card does not have a VBE 2.0-compatible BIOS, the benchmark tool will complain loudly and ask you to install UNIVBE.

While it does complain, it will fall back to VGA mode 13h with the benchmark feature disabled (for benchmarking VGA-only cards, I hear SuperScape has a product that is not unlike the SuperTrace benchmark).

Technobabble

This is a floating-point heavy benchmark. It uses a single-precision 3-component floating-point buffer for high dynamic range colors. The HDR bloom/postprocessing effect is part of the original ray tracer, but this version of SUPER TRACE benchmark doesn't take into account the additional color range, and just clamps it to 8-bit values for VESA, or maps it to a 7x9x4 color cube for the VGA 256-color mode.

There's lots of room for improving the performance of this, possibly even adding a classic triangle rasterizer used during navigation of the scene or a hybrid approach. But part of the fun is just sitting in front of your old machine, contemplating life choices and getting the CineBench(tm) feeling "backported" to ye olde computer? Yay!

After the initial scene is rendered, a form of temporal antialiasing is used to enhance the sampling rate of the image. If you keep the benchmark running, the image result will gradually improve and refine.

Easter Egg

Rumor has it there's an easter egg hidden somewhere. Can you find it?

Photo Credit

The photo with the two CRT screens running the benchmark is by Aarni Gratseff (Mastodon, Itch.ioTwitter, YouTube) - thanks!

See Also

Download

Download NowName your own price

Click download now to get access to the following files:

Super Trace Benchmark v2.1 (32-bit DOS) 198 kB

Development log

Comments

Log in with itch.io to leave a comment.

On a Covington (266 MHz Pentium II Celeron, no L2 cache) and an onboard 2 MB S3 Trio64V2/DX w/ video BIOS version 2.04.07, I get about 896 for 320x240 32bpp and about 804 for 320x240 16bpp. Higher resolutions make it notably slower for some reason (about half the speed for 640x480?). VGA fallback is about 993 for 320x200 8bpp.

Higher resolutions is slower, because right now, the screen is always updated full-screen for now (not just the tile that's rendered). That could be optimized, of course :)

(+1)

I ran this on my 386DX33, equipped with a WD90C30-LR on a 22MHz ISA bus, it took about 2 hours to do the initial render in VGA mode using the native WD VESA driver and scored 12pps.


This isn't slow enough. I've now swapped out my clock crystal and am running the CPU at 1MHz. Will update when it's finished.

(+1)

Haha, perfect :) Thanks for testing! Looking forward to the update in a few weeks when the render is done ;)

(1 edit) (+1)

It just finished a few minutes ago. I started it around 3:30AM on 7/20, local time, and it's now just past 4:30PM on 7/22. 61 hours to render (ohh, and I forgot to mention, these were both ran with a FasMath FPU installed).

Btw, this is using a DOS Extender, right? If so, I don't think I can run this on my 8088 or V20+8087, but for what it's worth, my 1Mhz 386 build performs worse than a 4.77MHz XT

(1 edit) (+1)

oh, and here's a photo. So... SPP metric when? :-P