Hello, I started to play with the telemetry data provided by AMS2, but had a big disappointment when I saw that the data in the shared memory are updated at the frequency of the graphics frame rate. But as I read that the FFB rate is faster, I supposed that the physics engine is internally not synced with the graphics. So, I dug into the program and I think that I have found the memory area where the physics data are updated. Then, as a test (and proof), I have written a program to print the engine RPM value and the delta time between two different values and ... TADA! I have found that the data is updated at around 300Hz. While, if I use the data from the official shared memory, the frequency is limited to 60 Hz (due to Vsync On). So, please, can you provide a faster official shared memory area? To have better motion data for motion platforms. See the capture below (with Vsync On): As a last resort, I can patch the .exe to export the data in realtime, but I prefer to have an official solution. Thanks.
Custom FFB files based on rF*cktor have that dt (delta t) embedded, so the value should reflect the true (player) physics frequency — I suspect the AI frequency is lower.
In orange the engine speed from the shared memory, in blue the data from the internal structure, captured at the exact same time. We can clearly see the higher frequency update.
Here the speed/accel: While we can clearly see the latency of the 'acceleration' shared data, especially at the end of the deceleration (around 20ms), the values (orange) are not really smooth. I wonder if it would not be better to compute the acceleration by using the speed values.
This is interesting. I wonder do you have any info is this better in other sims, is the frequency better with them? Motion platforms in wide use is quite new thing and the sims telemetry update requirements for other purposes might not need that high frequency... But did I understand correctly, if you would (be able to) run the game at 120fps, you would have the update frequency twice what it is for you with 60fps .. So basically, if you let say play the game on VR where you often need to have lower fps + have motion platform, the rougher data the motion platform get's? I have no idea how quickly those can react can, they handle changes every 8,8ms...? Anyway, if motion platforms can handle and react to very frequent signals, but the telemetry doesn't provide changes fast and frequent enough, no wonder some have problems with motions platforms where they feel the effects are too delayed, which causes problems if you react to them too late.
300Hz = 0.00(3)s, or 3.3(3)ms. My subwoofer can't do this . And no, you cannot perceive lag that low. For instance, you won’t notice audio/voice desynchronization if it is below about 22 ms (most probably you won't notice until it reachs 50-75ms). Of course, some information is inevitably lost on lower sample rate, so the desire for better systems is always present. But I wonder how much of this is truly necessary - or even tangible. The systems outside the sim (whether a wheelbase or motion platform) introduce far greater distortion into the signal, since they are physical entities with significant mass and inherent slew rates/inertia. A good seat will certainly filter out a 300 Hz signal—otherwise, things might get a bit too liquid.
Actually, the actuators of a tactile/motion platform can react in less than 16ms (if you play @60Hz). But, more importantly, having the fastest telemetry allows to have more precise and reliable filters to drive your platform. For example, look at the acceleration values (the yellow one) on the picture above, it is unusable. If you keep it as is you can feel the 'notches', and if you filter it, you add latency (in addition to 16ms).
I am not sure to understand your question, but I don't think so. This update/enhancement is mainly for motion systems makers.
Last example, the suspension travel provided by Assetto Corsa, when you run over a curb on a laser scanned track: With this level of details you can detect the high frequency vibrations and reacting accordingly, typically with a bass shaker or high speed/power motors on motion platforms. It is not a fake/canned effet Way harder to detect with a 60Hz telemetry. EDIT: the gear shifting kick can also be detected (with acceleration data), not a fake effect like on simhub. I could also mention the wheels slip, but this one is very difficult to fine tune.
speaking of Assetto Corsa and gear shifting, see here the telemetry during up shift with a Ferrari 458: Look how the acceleration signal is smooth compared to the AMS2 one that I have posted two days ago (same X time base). And how the "kick" is easily detectable. So, yes, a fast telemetry is usefull.
Nice work finding that info out. Heck even if not output at 300hz physics engine frequency but if it was even doubled over the current 60hz, that in itself would be a massive improvement, IMHO.
Currently, it is not limited to 60Hz, it is synced with the frame rate. I took 60Hz as an example, it could be much more, or less! For the motion/haptic algorithms it is way better to have stable update rate.