This site is being deprecated.

Please see the official X‑Plane Support page for help.

0 votes
asked by (12 points)
As a learning exercise, I'm working on converting a set of CH Pro Pedals from game port to USB for use with X-Plane on OS X 10.11. I'm using the Teensy USB development board for the project, and I believe that I can fine-tune the USB report interval in the HID descriptor.

Is there an optimal USB report interval for X-Plane 10? For example, 8ms is typical for a desktop mouse and also a circa 1998 USB yoke I have, but some devices marketed for gaming have a shorter interval like 2ms or even 1ms.

Is the simulator or rendering frame rate a factor?

For reference, the USB yoke with the 8ms report interval provides acceptable control in the sim, at least at C172 speeds. My question is motivated by a desire to understand how the report interval relates to the simulation fidelity and the threshold for noticing a difference as a sim pilot. These seem like important factors to consider in deciding how best to configure the analog digital converter on the USB development board.

1 Answer

0 votes
answered by (148 points)
So the short of it is you want a report rate high enough to give the sim the best data per frame, but any higher and you waste performance.

You are also running unsynchronized relative to the sim, so for example, if you were to output reports at the framerate, then on average you'll be about half a frame "late" - that is, we called up, then you had new data, then another frame came around, and in the worst case you miss by a microsecond and have almost a whole frame of latency.

You can cut down this latency by over-reporting; if your report rate is 2x the framerate, at worst the data is half a frame old.

With that in mind, I'd suggest something around 120 hz should be fine.

- If you're running at 60 fps, your worst latency is 8 ms - less than half a frame.

- If you're running at 20 fps, you still have very low worst latency, and the latency of the joystick is much lower than frame latency.

I don't think there's any need to go up to 2 ms (500 hz). At that rate, for every report you send that we use, seven will be wasted.