Force Feedback Myths and Misunderstandings


Shaun Cole On July 23, 2014
Bookmark and Share

When it comes to force feedback there are far more opinions on settings and the command that control force feedback then there are wheels are on the market to choose from.  For me when it comes to force feedback or understanding the signals that come out of a sim I turn to one person for information, and that one person is Berney Villers of Sim Xpereince.



He recently wrote and article on his blog that covers this very topic and here it is:

Force Feedback Myths and MisunderstandingsAuthor: Berney Villers  /  Categories: AccuForce Wheel, Other  /  Rate this article: 
5.0As I read through various forums, I'm often shocked by the suggested FFB settings or other comments that I see. I thought I would take a moment to throw my two cents into the mix and offer some of the lessons learned while developing the AccuForce wheel.

Myth #1 - A Faster Game Force Feedback Output Rate Is Better

NOT NECESSARILY! The truth is, quality beats quantity.  A game with a slower output rate but quality force feedback math will feel more realistic than a game with a faster rate but  lesser quality force feedback math.

Moreover, a well designed wheel firmware can improve upon a slower update rate, but no firmware can make up for a bad tire model, bad physics or just plain noisy math that results in poor quality force feedback instructions to the wheel.

That said, in a PERFECT world, we could have it all: a stable, quality force feedback math at a high output rate. Unfortunately no existing games (that I've tested) have achieved this holy grail of racing simulation force feedback YET.

Myth #2 - Some Games Give Wildly Fast Force Feedback Outputs of (400Hz+)

In order for a game to TRULY give comprehensive new force feedback instructions 400 or more times per second, the game would need to be running a large portion of it's physics loop at 400Hz or more which is unreasonable given today's games and PC technology. Most games are running their full physics loop at less than 120Hz or 120 times per second.

Games that claim to provide 400Hz or faster force feedback update rates are often just running a small, tight loop at 400Hz that receives the slower 120Hz actual physics data, interpolates it and outputs at 400+Hz. This gives the perception of a 400Hz output, but it's a far cry from the real thing.

In fact, there is a strong argument to be made against this concept. This 400Hz loop is subject to Windows timing jitter, making it less than ideal. A better approach would be for the wheel firmware to provide an optional low latency interpolation because it can do so at a much faster rate and with less error because it introduces virtually no timing jitter relative to Windows timing. We've designed such a mechanism into our AccuForce wheel and the results are impressive.

If you're an iRacer, this is great news. People often claim that iRacing needs to give an output faster than their current 60Hz rate. In testing, we found that our low latency firmware based interpolation (and some other special sauce) really brings the iRacing force feedback into a new realm of realism and without the additional CPU that other game makers are incurring to run this interpolation loop as part of the game. In short, we're able to bring the same perceived advantages claimed by other game developers to iRacing in a more efficient manner. This mechanism is automatically disabled for games that provide their own interpolation, giving the best possible experience no matter what your favorite game may be.  

Myth #3 - The Game FFB Clipping Meter is Accurate

A force feedback wheel is truly clipped when the motor has reached it's torque limit and can give no more. A games force feedback meter shows what force feedback level the game is requesting. This is represented as a range of torque between 0 and 100% in either direction.

 However, most game force feedback meters do NOT account for the motor torque used by dampening, friction, inertia and spring effects and therefore can cause you to believe that you are not clipping when in fact you are.

In the weeks to come we'll discuss how we addressed these issues in the Sim Commander 4 and how the AccuForce is able to help you easily achieve maximum force levels without clipping.
To see more topics covered by Berney please visit Sim Xperiences website HERE:

Related Articles

Comments

Sébastien TIXIER On 2014-07-24 11:32:04
Sébastien TIXIER

Are we talking acurrate FFB there? so we have to include games like Dirt 3? or are we just talking sims? So my bad on that.
What  is interesting to know is at which frequency the tire model is refreshed, not the main physics loop. and if the FFB is refreshed in the tire model loop.

As for timers, yeah i coded realtime app. You want to proove me wrong arguing on details, and give exact class name, don't have time for that.  As for the initial statement that you can't have a solid 400hz refresh loop on windows, it just false. and to press your statement you give for example the battery life saving mode? I made timers runs between 300hz and 3000hz and they didn't differ from real life timer using perf timer, they run for days. Oh yes maybe if the PC is going in energy saving mode it will be not accurate anymore. But what the point with sim racing?. So yes, saying , implicitly, that sims running their physics loop at 400hz  are subject to jittering, is wrong. Maybe they are, but you can' t state that without actually look at how they impemented their timers.

Maybe it's just a misunderstanding to each other. But as a physics coder, and for physics coder from Kunos and ISI, reading this is a little bit offensive. Like we are not able to do a proper real time loop.

@Ellinor  : making arcade games doesn't mean I don't know how real physics and real time coding works. I dissect segment because even if they are right for "most" of the "game", they are wrong for our main concerne here on SIMPIT, which is sim racing on PC.

In conclusion, sorry if I sounded harsh , no offense was intended. and English not being my native language ( you know French people sucks @ English) doesn't help either. My apologises for that.


 

Reply

Sébastien TIXIER On 2014-07-23 06:42:44
Sébastien TIXIER

Myth #2, the guy who wrote that don't know what he's he talking about !!!!

"Most games are running their full physics loop at less than 120Hz or 120 times per second."
AC physics runs at 333hz ( and yes I mean tire model)
TheCrew physics run at 300hz ( and yes tire physics too )
with no problem !  Oh yes, and my suspension model runs at 3000hz ... on a XONE !! 
If you don't know how to do it , that's not mean it's not possible....

"This 400Hz loop is subject to Windows timing jitter"
I really LOLed at this one.
Again, the guys who wrote that never writen realtime coding in is life.
With PerformanceCounter , you can be precise to a processor tick wit NO problem and no Jittering.

When I read blogs like that, made by guys who are selling stuff, I always thing ... hmmm... why the guys is saying that? is he trying to justify a flow on his product? I don't know the guy nor it's product. but maybe he should make so research before posting such nonsenses.
 

Reply
Ellinor Ström On 2014-07-24 11:10:51
Ellinor Ström

Says Sébastien Tixier, Physics Lead on TDU and Physics on V-Rally 3 the two games in the world that makes NASA's Apollo Moon Mission Buggys look easily controlled and composed! Berney makes a point of saying the FULL PHYSICS LOOP and MOST several times yet you dissect just parts of the statements and say he's wrong? Your suspension model is running 3000hz on a XBox One says exactly what? it says nothing. I can make one running 10,000Hz just for the hell of it but if it only needs 1200hz it's just unecessary overhead and stupid.

Reply
Berney Villers On 2014-07-24 04:16:28
Berney Villers

Hi S

I'm not exactly interested in having a who's is bigger contest with someone who selects little excerpts of my article and attemps to mislead others by leaving out key parts of what I said, but I would like to clarify for anyone who may see this in the future and also for you in case maybe you just skimmed the article and misunderstood it or are experience language barrier.

You conveniently left out the fact that I said "MOST games are running their full physics loop at less than 120Hz or 120 times per second. That's a pretty important keyword!

We're in a rather interesting spot of wanting to be friendly with all racing game developers so I'm not going to bash anyone in particular but of the 30'ish games we develop realtime audio and motion support for, it's a plain fact, MOST run their physics at 120Hz or less or at least SOME PORTION of their physics runs this slow. For example, many games run the suspension faster than the rest of the physics loop but the main physics loop isn't breaking any speed records. You gave two examples of games that are currently in development and aren't even released yet. We'll see what rate they run at once they provide (wait for it..yet another keyword you opted to leave out) COMPREHENSIVE physics.

Windows in practice has far less accurate timing than an electronic device such as the wheel microcontroller I gave in my example. I never said it isn't possible to do it in Windows, in fact I pointed out that some games do exactly this. What I said is that a BETTER approach would be do do it in the microcontroler firmware of the wheel. Why is it better: because it's undeniably has less jitter and can run a faster loop without additonal CPU load. A microcontroller will easily beat Windows when it comes to timing and high speed loops. It's a no-brainer.

I actually do have quite a bit of experience developing near realtime 1000Hz Windows apps and I understand the trade offs between performing a task in software vs hardware. These are choices that we don't take lightly. Anything that we do in software can be easily updated. Anything that we do in firmware obviously requires firware updates which aren't exactly as easy to rollout. My point: we think long and hard before putting a feature on firmware rather than in software.

I'm pretty sure you're the one who's never written timing sensitive code. Quick fact: There is no such thing as realtime in Windows. Windows is NOT a realtime operating system (RTOS) and is therefore not capable of true realtime operation.

Also, you say "With PerformanceCounter , you can be precise to a processor tick wit NO problem and no Jittering."

That's simply wrong: PerformanceCounter has nothing to do with timing. The Windows PerformanceCounter class is a diagnostics class. Windows PerformanceCounters are used to provide information as to how well the operating system or an application, service, or driver is performing. It provides things like CPU usage statistics, memory usage statistics etc. 

I think you probably meant the QueryPerformanceCounter class. Had you actually written a realtime app, you would know that in Windows 8, this is no longer as accurate as it used to be because Microsoft decided to prioritize battery life at the expense of the accuracy of most of their timing mechanisms and there is no power settings or mode that you can set to to improve it. I'vr had some lengthy conversations on this matter and they've provided me with an alteritve approach / workaround which will facilitate 1ms accuracy.  It's yet another darn good reason to offload timing sensitive things to a microcontroller if it's available.

Reply

You must be logged in to post a comment








Login


Thanks for visiting. Push the facebook button to login or register


Community Activity


Check out what the community is talking about.

Bill Elliott Bill Elliott
TP needs some updating. It is not very intuitive for new users. Instructions are hard to follow at times. Support response is in need of someone's dedication. Having individual paints is a real attraction within iRacing. This needs to be done better or replaced! ​Interesting that without member support there would be no answers or help. It's a shame, the program is so popular not to have good management.


Topic: Trading Paints - A must...View

Billy Stanley Billy Stanley
I plan on taking this advice.   Great page!


Topic: Top 5 Mental Approach to...View

Rusty Alford Rusty Alford
“Practice does not make perfect. Perfect practice makes perfect.” 
― Vince Lombardi Jr.


Topic: Top 5 Mental Approach to...View

Andy Rohrer Andy Rohrer
Hey Shaun:

I was hoping to participate in the next race and on Simracing System it says it's at Fuji. Which version of Fuji should I download.

Thanks!


Topic: Setup Shop and Attack The...View

Michael Baley Michael Baley
Sean,
I am all signed up and ready to race in the Carrera Cup, except for one thing.  How do I obtain Road America?  I do not have it in AC as one of my tracks.  Where is it?


Topic: Simpit Porsche Carrera Cup...View