Home  Making it fast is a matter of algorithms and 3D card speed mostly, not so much which CPU you're running on. 

OPTIMIZING GEOMETRY HITTING
One of the greatest speedups I've seen, next to selecting a faster 3D card, is caching the triangle that is underneath the wheel. Badly split tracks can hold up calculations because a lot of triangles have to be checked for intersections, of which many are missed.
On a 200Mhz SGI O2, I ran Racer at 1000Hz to test my triangle caching. Here are the results:
Version  Percentage of work for the physics on a bad part of the track 
First hack'n'slash triangle intersection calculations  63% 
Optimized vertex passing to intersection function  54% 
Culling of faces to avoid hitting backfacing polygons  46% 
Caching the last known triangle/geode  17% 
Turning off triangle intersections altogether  15% 
As you can see, the last step paid off and things are not that far off from omitting triangle intersections altogether, so I've approached the limit for this algorithm.
OPTIMIZING GRAPHICS
I've noticed that using vertex arrays versus display lists didn't have an impact on rendering speed. Even more so, display lists cost more display memory, and there's still not a lot of it on most machines.
Also, perform culling on your geometry! I perform pergeode culling, so I cull away entire blobs of geometry, instead of testing each triangle, which is a tedious task and can quickly turn into too much work. Ofcourse, striking the balance is not trivial and is quite dependent on your system (i.e. where your bottleneck is).
(last updated November 13, 2012 )