Jump to content
The simFlight Network Forums

FSUIPC SDK Joystick Input Performance


Recommended Posts

Hi Pete,

I am using SimConnect to read joystick buttons and map to different sim controls like VOR - OBS knob. I'm finding that the occasional joystick button press is being missed. I also created a simple application using the FSUIPC SDK that reads the same joystick buttons (Hot Buttons). I'm trying to get a better understanding about general I/O or joystick read performance when using your SDK.

We kind of touched on this topic in an earlier post and the solution to our problem was to increase the FSUIPC read speed by adding the value PollInterval=10 in FSUIPC4.ini.

I'm wondering the following:

(1) Would an application created using SimConnect SDK read joystick inputs faster than the FSUIPC SDK?

(2) If I did use the FSUIPC SDK to read joystick inputs (Hot Buttons) does changing the PollInterval in FSUIPC.ini effect the read performance?

The goal is to increase the "read speed" of the joystick and hopefully reduce the number of missed button presses.

Thanks!

Christian

Link to comment
Share on other sites

(1) Would an application created using SimConnect SDK read joystick inputs faster than the FSUIPC SDK?

I've really no idea. You cannot adjust the polling rate for SimConnect, so I suppose that's a disadvantage. If all you want to do is read joystick buttons why not simply use the easy Windows "joy" API directly? That copes with up to 32 buttons per joystick -- it's what FSUIPC uses. Check "joyGetPosEx".

(2) If I did use the FSUIPC SDK to read joystick inputs (Hot Buttons) does changing the PollInterval in FSUIPC.ini effect the read performance?

It makes FSUIPC poll the joysticks more or less often. Whether you can read the flags as fast is another matter. You've got process switching and Windows message queues in the way of anything startlingly fast. There's not much point polling faster than you can read, so time that first. See how many FSUIPC Process calls you can do in a second before FS slows down noticeably because of the loading, or your program gets held up because of delays in the response.

The goal is to increase the "read speed" of the joystick and hopefully reduce the number of missed button presses.

If all you want to do is read buttons on locally connected joysticks, I'd still recommend doing it directly, not via FS or FSUIPC.

Regards

Pete

Link to comment
Share on other sites

Hi Pete,

Thanks for the detailed response.

I'm currently in the middle of adding some old DirectX or DirectInput code and will add to my FSUIPC SDK application. I'll be dumping this into a thread which will allow for precision timing control and should improve general button reads.

Not only do provide awesome support but apparently can read minds as well. :-)

Thanks again!

Christian

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.