I suppose I have a more direct comparison of the "MS" component in the
equation, because the Playstation2 can talk to the Logitech wheels via USB
and Logitech's custom API... our last PS2 game just used pretty much
identical code to our PC FF code (just tweaking the constant force
continuously based on force at the steering linkage); I started working on
my own hacked-together USB driver for other wheels, I'm curious to see what
kind of latency you can get sans Windows. Of course you still have to go
from the CPU to the IOP sub-processor to get to the USB via DMA, so it's not
as good as an ISA card or something.
I think the test could be something like send a continuous stream of "zero"
force, followed by a stream of "left" force, all the while continously
sampling the steering input, and seeing how long before you can read a
change in steering input due to the motor... my suspicion is that a lot of
the latency will be in the hardware and the USB connection, but if I get
some numbers I'll post them here. It'd be great of there was a standard
controller latency test, kind of like a Winmark, then the controller guys
could compete on latency.
-Dave P.
> It's all about latency for sure. And the standard M$ software doesn't
seem
> to give a damn about latency for game controllers...
> My comments weren't meant to be a personal attack -- I was really trying
to
> spur someone (some group?) to develop a more elegant way to talk to PC
> hardware. Seems like all kinds of games would profit from this. But I'm
> not going to be able to do it, I'm a car guy, not a game programmer.
> -- Doug
> > (arguing against Doug for no good reason, especially as he's surely
> > right...)
> > The reason I suggested that was because USB and Windows conspire to give
us
> > too much latency to get good feedback without wheelside prediction--I
was
> > thinking more of "consumer" wheels, where my change would be quite cheap
to
> > implement. A custom interface card would be awesome, though; however,
> > trying to get a slice of CPU time to service it reliably every few
> > milliseconds seems to get harder every year... trying to keep our
> > sound-mixing thread scheduled ahead of the output buffer was hard
enough...
> > we need OpenGL for DOS or something.
> > -Dave
> > > This is *** -- a patch on a patch, on a patch.
> > > It's so simple when the model talks directly to the hardware...
> > > I mean, while you are at it, why not have the steering wheel run
> > > the car physics and tell the PC what viewpoint to display?
> > > -- Doug Milliken
> > > > Since we're on the subject, I thought I'd throw in a quote from
MGI's
> > Dave Pollatsek that caught my eye a while back in a
> > > > non-FF-related thread. Might be of interest here...
> > > > SB
> > > > "My current proposal for advancing force feedback--do what MS and
nVidia
> > did to Direct3D8 with programmable vertex shaders to
> > > > DirectInput--create a simple DSP-like byte code that could be
compiled
> > into microprograms that the wheels could run in hardware, so
> > > > the wheels could do prediction code without
> > > > having to USB back to the computer, wait for the next physics frame,
USB
> > back to the wheel and from there to the motor--I think you
> > > > could achieve a really "tight" and responsive feel with this method
and
> > reduce or eliminate the spiking and self-oscillation
> > > > problems that are currently endemic to any "non-canned" force
feedback
> > implementation, and a 30-cent CPU should be powerful enough
> > > > to implement this."
> > > > > Oh well, the way I read it, it seemed that they were going to
figure
> > out
> > > > > some way to get around the win-doze interfaces.
> > > > > -- Doug
> > > > > > That would be great Doug, but the way I read it, they still
> > > > > > intend to use DirectX or I-force or whatever to control the
> > > > > > wheel. I think he's just pointing out that some sims do a
> > > > > > better job of simulating a car than others, and the
> > > > > > resulting FF effects are better.
> > > > > > --
> > > > > > Pat Dotson
> > > > > > > Thanks for posting this here.
> > > > > > > > Because our system runs directly on the vehicle dynamics
model
> > of the
> > > > > > > > simulation software (e.g. GP3, F12001), the quality of this
> > physics model is
> > > > > > > All the games I've been involved with, Atari Hard Drivin',
Race
> > Drivin' and
> > > > > > > Nascar Silicon Speedway have had the steering wheel and FF
motor
> > control
> > > > > > > tightly integrated with the vehicle (physics) model -- no API
or
> > other
> > > > > > > "glue/interface" code was used. Command torque went direct
from
> > the model
> > > > > > > to the D-A converter that drove the motor.
> > > > > > > Even with the slightly noisy/buzzy digital (switching) motor
drive
> > that was
> > > > > > > used in HD and RD, the steering is still among the best I've
> > tried. Better
> > > > > > > still was a HD development version that used an audio/analog
power
> > amp to
> > > > > > > run the DC torque motor, pure silk (with a tiny amount of
friction
> > from
> > > > > > > carbon motor brushes.)
> > > > > > > It's nice that someone else has figured this out too.
Separating
> > the
> > > > > > > application software from the hardware makes it tough to do
> > realtime
> > > > > > > control...