Jump to content
The simFlight Network Forums

Position/attitude synchronization for multicrew aircraft


Recommended Posts

Hi,

I am flying the Leonardo Maddog 2008 with its multicrew mode, ie. sharing a cockpit with someone. We are doing this in FS9 but it's possible also in FSX, as the SW is available for both.

My question is: Are there any differences in the FSUIPC's position/attitude synchronization with regard to accuracy/update interval between different FSUIPC versions?

The multicrew flying is great, but the client of the connection (PNF) always sees rather jerky movements, and this is caused by the position/attitude synchronization between the two planes. And the FSUIPC is doing the synchronization between the two pilots, according to the developer. It is obvious that no SW can keep synch in real-time between two different computers through the internet (even with pings as low as 5-8ms between the computers), so there alwas has to be some amount of unsynch between the computers. However, we have noticed that the amount of jerkyness and unsynch in the pos/att varies throughout the flight. At one point the ride could be very smooth in the PNF side ie. client (PF side is always smooth as it's the host). But at times the PNF side experiences heavy jerkyness and twitches without any apparent reason. And then it's suddenly better again. The traffic between the computers is ensured fully open, by making proper port forwards everywhere, disabling firewalls, and testing that it all works. So connectivity is not an issue.

So, if anyone (besides Pete of course) has any suggestion for FSUIPC version or some settings that I could change to increase the synch interval or do something else to alleviate this problem that surfaces on each flight, I'd appreciate the info greatly. It's not a show stopper but the overall experience suffers somewhat from this phenomenon.

I would also be willing to test out some unofficial FSUIPC modules from Pete, if something could be done inside the DLL to increase the synchronization (decrease the interval between the synchs or something else), smoothing etc. etc., if that should be possible.

Thank you for reading.

rgds,

Tero

Link to comment
Share on other sites

Are there any differences in the FSUIPC's position/attitude synchronization with regard to accuracy/update interval between different FSUIPC versions?

If you mean between FS versions (FSX versus the rest) then there will be some difference, yes. On FS9 and before FSUIPC grabs the values on every frame directly from the innards of FS. On FSX (and ESP) it has to wait for SimConnect to supply it. In both cases they are operating at the frame rate, but in FSX's case it is SimConnect which gets the data direct from FS innards and then posts it to FSUIPC asynchronously.

Usually the difference would be hidden by the fact that the program interfacing to FSUIPC to get the data is polling at intervals in any case. It would become just noticeable, I suppose, if the polling from the application arrived at a time which on FS9 is just after a frame update of the position but on FSX is just before the arrival of data from SimConnect.

But I would have thought such millisecond differences could occur between two like systems (both FS9 for instance) as well -- and at most you should never be more than 1 frame out. At 10 fps that may just be noticeable, but at 20 or more it shouldn't be.

But at times the PNF side experiences heavy jerkyness and twitches without any apparent reason. And then it's suddenly better again.

Are the frame rates compatible in both? Which one is FSX and which FS9? It sounds simply like the FSX end is getting overloaded at times and SimConnect's messages to FSUIPC are piling up as a result. If your FSX is not up to SP2/Accel level it is likely to be a darn sight worse, as SimConnect is then using TCP/IP to send me the data. Ugh. With the SP2/Accel update, SimConnect got changed to use shared memory (via pipes).

Regards

Pete

Link to comment
Share on other sites

Pete,

I may have posted vaguely, so I'll correct one misunderstanding.

We are using FS9 at the moment (both of us), but the MD SW itself is also FSX compatible (there's an own version of it for FSX). What I am after is that if there is something one can do to make the situation better (let's say for FS9 situation, where both are flying on FS9). Interestingly, the MD developers say that in multicrew ops, it is possible for one pilot to use FSX and the other to use FS9. But I really don't want to get into that to keep things as simple as possible (unless... there is something to gain from flying different FS versions).

If FSX would bring benefits in this regard (both flying MD on FSX), then we'd be more than happy to switch to it. But from your post I got the impression that actually FS9 could be better synch-wise?

I read this one thread here in your forum about the importance of perhaps having the exact same FPS for both sides to minimize any stutters due to the fact that the other pilot is getting a more fluid experience than the other and thus causing the position, altitude, attitude etc. getting more "updates" than the other side, thus causing stutters in the process. Is there any validity in this for this kind of multicrew operation, with regard to stutter-free experience?

At the moment we have the same FS version, all the same sceneries, same settings in MD, very similar settings in FS9, and we start out with the same situations and time, and try to have it all in perfect synch. But still there are these intermittent moments in flight when the going gets really rough on the PNF side, and it affects the whole multicrew experience greatly.

regards,

Tero

Link to comment
Share on other sites

P

We are using FS9 at the moment (both of us)

In that case i don't understand the question about different versions of FSUIPC. You will both be using FSUIPC3, the same version. In fact, if you want support, you'll both be using current releases, not old ones -- not that the area in which you are querying will have ever changed.

I got the impression that actually FS9 could be better synch-wise?

In that it has no asynchronous part, SimConnect, between it and the data it is grabbing from FS, yes, it should be a lot better.

I read this one thread here in your forum about the importance of perhaps having the exact same FPS for both sides to minimize any stutters due to the fact that the other pilot is getting a more fluid experience than the other and thus causing the position, altitude, attitude etc. getting more "updates" than the other side, thus causing stutters in the process. Is there any validity in this for this kind of multicrew operation, with regard to stutter-free experience?

Well certainly if you want synchronisation you want both to be running at the same frame rate. There's no real possibility of true synchronisation otherwise. You should use the limiter at a value which both systems can always achieve.

At the moment we have the same FS version, all the same sceneries, same settings in MD, very similar settings in FS9, and we start out with the same situations and time, and try to have it all in perfect synch. But still there are these intermittent moments in flight when the going gets really rough on the PNF side, and it affects the whole multicrew experience greatly.

I don't think there's anything different FSUIPC could ever do for you. Really it then becomes totally dependent upon what the software that links you both is doing. And the network, of course. If you really are doing this over the internet rather than a local network then I'm surprised you see any smooth operation at all!

Incidentally, with FSX the multiplayer facilities actually built into FS were extended to provide multi-crew operation. I've never used it but I've seen it demonstrated and it looked pretty good.

Regards

Pete

Link to comment
Share on other sites

Pete,

I read the documentation of the Maddog again, and it seems that the multicrew synch in FSX is supplied by Simconnect exclusively; FSUIPC is not used there for synchronization at all.

Do you have any estimate if the position data grabbing and forwarding with FS9+FSUIPC (where FSUIPC takes it from FS9 innards) would be any different from FSX+Simconnect? Basically, if the FSX+Simconnect combination could theoretically be possibly a tad faster than FS9+FSUIPC, assuming that Simconnect gets the position data somehow more directly from FSX, than FSUIPC from FS9. Is this speculation entirely without base, what do you think?

Btw, when it comes to smooth operation over the internet, it's not surprising at all. It's just a matter of latency between the computers. If we are talking 5-10ms latencies, you will get absolutely stutterfree synch in all first person shooter games through the network. I would expect an airline flight simulation be completely smooth, unless there are some really rapid changes in attitude, altitude etc. like in fighter flying.

rgds,

Tero

Link to comment
Share on other sites

I read the documentation of the Maddog again, and it seems that the multicrew synch in FSX is supplied by Simconnect exclusively; FSUIPC is not used there for synchronization at all.

Sounds sensible. Removes a layer.

Do you have any estimate if the position data grabbing and forwarding with FS9+FSUIPC (where FSUIPC takes it from FS9 innards) would be any different from FSX+Simconnect?

No estimate, no. With FSUIPC the data is in FSUIPC's hands on each frame by virtue of direct access to FS's inner values. But then it is sitting there waiting for the Windows message from the application to actually request it. There's no way I can estimate when that will be within the frame cycle, even assuming the application can be regulating itself well enough to call on each frame rate cycle.

With SimConnect, data data is requested once by the application and then supplied asynchronously, no new request needed, by SimConnect when it changes or at most on every frame. However, that is also either by messaging or by TCP/IP or Pipes and is not synchronised specifically with anything else in FSX. In my experience, in FSUIPC, I get the data some milliseconds later from SimConnect than I would getting it directly, but what is gained there is lost in forwarding it on, by request to the application.

So it's swings and roundabouts. What you lose one way you pick up another. Who's to say which works out better?

Btw, when it comes to smooth operation over the internet, it's not surprising at all. It's just a matter of latency between the computers. If we are talking 5-10ms latencies, you will get absolutely stutterfree synch

Yes, of course, and sometimes you might get only 5-10ms. But it varies enormously, even on the same link, presumably related to workload on each server it gets routed through and the number of users sharing the ADSL line with you and what they are doing. With so many folks now trying to stream movies and TV programs the response/ latency is varying enormously. At least it does here in the UK. Maybe, with two users on the same ISP, close to each other, it will be fine.

Regards

Pete

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.