Skip to content

v0.3.0 — per-machine graphics tuning: FSAA, anisotropic + trilinear

Choose a tag to compare

@matthewdeaves matthewdeaves released this 05 Jul 12:40

Best-looking ioquake3 (Quake III Arena) for old Macs — one DMG that auto-tunes every machine from a G3 running Panther to a modern Intel.

This is a config-only release: the engine binary is byte-identical to v0.2.0 (the same fat ppc750 + ppc7400 + x86_64 Mach-O). What's new is the per-machine autoexec layer baked into the .app — auto-selected at launch by hw.model — now measurably tuned across the live bench fleet. Drop ioquake3.app next to your own baseq3/ and it configures itself.

What's new — per-machine graphics tuning

  • iMac G5 (Radeon 9600): 2× FSAA (r_ext_multisample) — antialiased geometry/weapon edges, fixing Q3's most dated look. Costs 60 → 34.5 fps at native 1440×900, affordable with no fps floor. (4× was measured and rejected — 20 fps.)
  • Quicksilver G4 (Radeon 9000): 16× anisotropic filtering + trilinear (GL_LINEAR_MIPMAP_LINEAR) — both bench-proven free at native 1680×1050 (the card has fill headroom there). Plus a free CPU win from a tuned sound mix rate (38.9 → 41.1 fps, zero visual cost).
  • Mac mini G4 (Radeon 9200): bench-confirmed on real hardware at native 1680×1050 (27.5 fps, hardware GL); characterized as fill-rate bound; auto-config wired.

Under the hood

  • Profiled the Quicksilver render thread on real ppc7400 hardware and recorded an evidence-based negative: an ARB VBO renderer retrofit is not worth it — no dominant hotspot, the ATI hardware command dispatch is irreducible, and the mesh/lighting hot loops are already AltiVec-vectorized in the baseline. (See docs/PROFILING.md.)

Measured native-res fps (demo four, each machine's native panel)

Machine GPU Native res fps
yosemite (G3 449 MHz) Rage 128 800×600 22
quicksilver (G4 733 MHz) Radeon 9000 1680×1050 41
mini-g4 (G4 1.25 GHz) Radeon 9200 1680×1050 27.5
imac-g5 (PPC 970 2.0 GHz) Radeon 9600 1440×900 60 (34.5 w/ 2× FSAA)
mini-intel (Core 2 Duo) GMA 950 1920×1080 57

Install

Mount the DMG, copy ioquake3.app next to your existing baseq3/ (your own Quake III game data — none is shipped here), and launch. The .app auto-tunes to your Mac. To override, edit baseq3/autoexec.cfg; to disable auto-tuning, launch with +set com_archAutoexec 0.

The DMG is built on Tiger so it mounts on Panther 10.3.9 through modern macOS, and its contents are verified byte-identical to the source build.