Super Trace Benchmark v2.1 for DOS released

Thu, 15 Jun 2023 12:00:00 +0000

As part of the DOS Game Jam June 2023, I turned a ray tracer I developed in 2022 into a small DOS benchmark that is very inspired by old VGA benchmarks of the day.

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.

Download

STBNCH21.ZIP (198 KiB)

Screenshot

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?

See Also

Vogons thread

Itch.io page

Jam submission