(02-05-2013, 08:42 AM)ulao Wrote: No that was skid, he and I hashed that out. I didnt really see the lag and I used constant force. Skid may jump in here.Hello Olau and thank you for your reply, and a BIG thank you to both you and skid for this addition!
OT.. why wont this thread die!
Ulao....I think I may have discovered the reason why I am getting lag from the force feedback in F-ZeroGX and Dolphin. It's kinda hard to explain but I'll do my best so that maybe either you or skid can help me with this issue.
I'm sure you guys are aware of another emulator called SuperModel Emu correct? Well, I happened to also experience the same force feedback issue when playing Model 3 games such as Daytona 2 and Super GT. The person behind the force feedback implementation into the SuperModel emu is a guy named Nik. I presented him with this lag issue and after some testing and a log error file, he figured out what the problem was, and told me that if Dolphin devs would be willing to apply this fix to a revision build of Dolphin it should fix the lag issue.
Now, what's causing the issue you ask? Well it has something to do with the rate at which the emu delivers ffb effects to my steering wheel. But it will do me no good trying to explain it in my own words. I'll need to copy and paste what Nik wrote regarding the cause of the issue.
Quote:Isamu,
will you add the following text string to your Supermodel.ini (in the [global]
section is fine) and see if the emulator still slows down in Scud Race:
DirectInputFeedbackThrottle = 1
If it does, then try with a value of 2, then 3, 4 etc. I wouldn't bother
continuing above 10 or so though.
What I noticed from the log file you gave me yesterday is that the problem
is with your device driver or hardware setup rather than
Supermodel. Basically, whenever a fast continuous stream of force
feedback commands are sent to the wheel, for example when driving over a
rough surface in Scud, the wheel seems to hang whilst processing each
command. It's only hanging for 8ms or so each time but this is enough to
slow down the whole emulator (normally the commands should complete in a
mere fraction of that time, ie less than 1ms). I've not noticed this on
any other setups, so it must be something particular to your wheel.
I'm guessing that the wheel can't handle a whole load of commands being
sent to it in a short space of time (maybe it has a buffer that's getting
filled up faster than it can process its contents). This is causing it to
hang, either because it is handling an error or is waiting until the
buffer empties or something like that (I'm just speculating here...)
What the option I've added above does is throttle the rate at which
commands can be sent to the wheel and I'm hoping that this will stop the
problem. However, to do this it obviously has to discard some of the
feedback commands so the downside is that the higher the throttle amount,
the lower the quality of the feedback. I'm hoping it might not be that
noticeable though.
Anyway, please give it a go and let me know whether it works for you or
not (and if so, with what setting value). If it doesn't, then the problem
must be due to something else and I'm afraid we'll just have to do some
more testing!!
Cheers, Nik.
As it turned out Ulao and Skid, Nik was 100% correct! It WAS my ffb wheel. I have an ECCI 7000 ffb wheel with a very powerful motor and I'm guessing either the design of the wheel's control circuit box or the motor has something to do with it. But once Nik gave me a newer custom version of SuperModel containing that throttle tweak, along with me adding that extra line of code in the ini file, the problem went away completely
Ulao or skid...I am hoping this information is helpful and I would like to request that you *please* make a build of Dolphin that provides me with the option to throttle the rate at which force feedback commands are sent from the game to my ffb wheel, so that it doesn't get clustered and slows down the game. If you can do this, I would be ETERNALLY grateful!!!!