Name: John Carmack
Project: Quake Arena
We are finally closing in on the first release of Q3test.
As you have probably heard by now, the first release in going to be the
version, probably followed by the linux version, and only then the
Some of you are busy getting all bent out of shape about this.
We want to get a lot of people playing with the test to find bugs and
offer well thought out suggestions, but there are classes of bugs and
suggestions that emerge in each order of magnitude of exposed testers.
If a given bug is going to show up when a thousand people have looked
at it, but we had released it to a hundred thousand people, then we are
going to have a lot of duplication to wade through.
The mac testers will find some obvious problems.
We will fix them.
The later releases will be better.
Even if we had the windows distribution ready to go right now, I would
still seriously consider releasing one of the mac or linux versions first
because it will make our tracking a lot easier.
The holdup on the windows side are the issues with updated driver
distribution. The game itself doesn't have any holdups.
We could do a windows release for just, say, voodoo2 owners and get some
of the benefit of a controlled release, but it wouldn't really work out,
because everyone would figure out that it can be made to (almost) work
on lots of other cards by tweaking some values. That type of feedback
would not be useful, because we KNOW that there are problems with most
of the current drivers. We have been working with all of the vendors
for the past year to get them all straightened out.
Glsetup is going to be slick -- just run it and it will Do The Right Thing
for your video configuration.
We hope it will be done soon, but there are factors out of our direct
Don't be spiteful. This is just the beginning of the testing and
One conspiracy theory suggests that Apple is somehow getting us to do
What we have "gotten" from Apple is a few development machines. No
cash payoff. No bundling deal. No marketing contract.
I am looking at this long term. I want to see OS X become a top notch
platform for graphics development. I think highly of the NEXTSTEP
and I might move my development from NT if it turns out well. There is a
lot of groundwork that needs to be laid with apple for this to happen,
and my working on the mac right now is part of that. Plus a lot of
complaining to various apple engineers and executives. :-)
To be clear:
At this time, there is no mac that is as fast for gaming (or just
about anything, actually) as a pentium III with a top of the line 3D card.
Period. I have been misquoted by some mac evangelists as saying
The new (blue and white) G3 systems are very good systems in many ways,
make a perfectly good gaming platform. However, a high end wintel machine
just has more horsepower on both the CPU and the 3D card.
A 400 mhz G3 performs about the same as a 400 mhz PII if they aren't fill
rate limited, where the faster cards on the PC will give about a 25%
advantage. A 500 mhz PIII with an appropriate card in 30% faster than
the best mac you can buy.
The multi colored iMacs, old G3 desktops, and powerbooks can play Quake3,
but the RagePro 3D acceleration defines the absolute bottom end of our
supported platforms. A serious gamer will not be satisfied with it.
Voodoo cards are not currently supported by the OpenGL driver, which is
very unfortunate because many serious mac gamers own voodoo cards. I
hope Apple and 3dfx will be able to correct this soon, but I certainly
understand Apple's prioritization -- obviously, good support for the OEM
video options is of primary importance.
The voodoo performance will still lag the windows platform by some amount,
but some strides have been made in that area recently, so I expect good
Gaming is not a reason to buy a mac, but Apple is taking steps so that
it may not be a reason to avoid a mac if you have other reasons for
MacOS still sucks.
Some people seem to think that I just make up these performance comparison
numbers. I don't. I measure things, and I understand control conditions.
In this discussion, assume "wintel" is a 500 mhz PIII with either a agp
rage128, or an agp TNT card, and "macos" is a 400 mhz G3 with the pci
At the highest level, you can make application class comparisons between
platforms. For instance, CodeWarrior on the mac compiles faster than VC++
on wintel, but stuffit is way slower than winzip. This is useful data,
but says more about the application design than the relative merits of the
platforms. CW uses a single object file repository, for instance.
A better comparison is an identical app on both platforms.
Photoshop is often faster on macos than wintel. There is certainly a lot
of common code, but individual filters are optimized for each platform.
Some of these hand optimized operations are significantly faster on the
Quake1 was the counterpoint to that. Quake1 had significant amounts of
hand tuned asm code for intel, and the PPC version never got as much
attention. The PPC version was noticeably slower (you would have to time
at 640*480 to avoid unfairly penalizing the mac for lack of low res
So, clearly, hand tuned asm code can make either platform pull ahead. It
also shows that the two platforms are at least fairly close in
I never said macs were SLOW, just not quite as fast as the best intel
Quake3 doesn't software rasterize, so there isn't any great place for lots
of asm code (the great place is in the OpenGL driver). The code is
essentially identical on all platforms.
Q3 is definitely faster on a wintel system than a macos system. When the
wintel version is released, everyone will be independantly repeating that
Even this measurement isn't exactly an apples to apples comparison,
the OpenGL driver and 3D card are still a significant variance. The two
can be broken out farther: Q3 can be run without 3D output to test just
the identical compiled code. Wintel is still faster, although somewhat
less so. The OpenGL + 3D card setup can be benchmarked separately on the
axis of throughput and fill rate, which show the intel system being
significantly faster. I can't break that apart into the two separate
components, but I will guess that the OpenGL driver is probably as
as the wintel drivers and the performance delta is due to the system
interface and the video card. The current mac rage128 cards run at 75
which is a third slower than the PC cards. AGP is also more than just a
faster PCI, it can influence the structure of communication with the card.
It has been my observation in the past that most of my code tracks just
midway between specint and specfp for performance comparisons. There is a
lot of floating point, but it is all short vectors, rather than the
vectors of scientific computing. If we discount the graphics subsystem,
follows this reasonably well. The intel system does slightly better than
"Sucks" is a subjective description that can be dismissed as opinion.
that I have NEVER said that the hardware sucks, or the user interface
just that the mac OPERATING SYSTEM sucks.
"Faster", when qualified with testing conditions, is objective, and all
wishing in the world doesn't change it.
Objectivity and quantification are the paths to improvement.
I will be very happy if Apple can produce a desktop system that is faster
than anything else you can get. I respect good engineering from any
Altivec should be better than the PIII extensions (trinary ops -- yeah!).
The upcoming system architectures look good. They have a shot at it, but
they won't make it if they complacently think "oh, we are already faster
than any pc system".
My twin turbo F50 can still be outrun at the dragstrip by much cheaper
race cars. Many ferrari owners would not dare set foot at a drag strip,
because they fear objective measurements that may not show their important
possession in the best light. I would rather have the facts, so I can
base future decisions on logical grounds.