[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quake for the GS




Matt Portune wrote:

>Here's a novel idea.  Let's get the source code for Linux Quake, and
>recompile it for GNO, and have it make use of the Number Cruncher
>since the game heavily relies on an FPU.

  Ugh!  The GS is barely capable of running a Doom port, let alone a
Quake port!  Both of those games are real CPU hogs.

  I ported my Doom-style engine to my GS a few months back.  After
rewriting the critical parts of the code in assembler I got it
rendering one frame every 10 seconds on a 7 Mhz Zipped GS, at
320x200x256 resolution on a Second Sight display.  True, I wasn't
using an FPU, but I wasn't using floating point either--all the
arithmetic was done in 32-bit fixed point with table-driven integer
multiplies.  Of course, integer arithmetic beyond 16-bits is still
too slow for this kind of program anyhow, even when using table-driven algorithms.

  I probably could have gotten it faster given enough effort in the
optimisation, but I wasn't ever expecting to get sub-second frame
rates.  The GS simply doesn't have the grunt for it.

  Quake in comparison requires significantly more CPU time.  I would
expect it to run at least three times as slow as my Doom port on the GS,
although in some respects the rendering algorithm is actually simpler
and cleaner than the Doom one.  Hmmm, maybe for the hell of it I'll
port my 3D polygon renderer prototype to the GS and report back on
how fast I can get it to run.  It's not likely to be very quick,
since it requires floating point or 48-bit fixed point arithmetic
(requiring 96-bit intermediate results).