BeyondATC

What’s the impact on fps? Any noticable drop? In VR?

i didn’t notice any, i guess the moment of truth will be traffic injection. Without it does no impact on my fps (while on the other FSLTL do have a more than noticeable impact)

1 Like

I’d expect that traffic injection is bound to have a performance impact. I just hope that it is a far lower impact than having MSFS control the AI traffic, which is currently how FSLTL largely works.

1 Like

Sure I read somewhere that BATC’s own injection wouldn’t cause any fps drop, such as folk are currently experiencing with FSLTL, because their injection doesn’t involve MSFS doing any work, it’ll all be down to BATC, which is of course an external programme.

In FSLTL you can always turn down the amount of traffic injected if it’s affecting your fps too much.

Hmm, the main thing that causes a performance load is the rendering of the aircraft models (in 4K in the case of FSLTL). And lots of them. AIG has the option of using 2K models what is significantly less, but any add-on that injects traffic that results in more aircraft models being rendered must have some impact on performance. The more traffic and the higher the res, the more the impact.

Good coding can keep this to a minimum, so lets hope BATC come up with something elegant. FSLTL is great, but it can really slay FPS. (personally I see no point in 4K traffic models unless you are just using the sim to plane spot).

1 Like

Yep correct, Captain mentioned it one of the YT updates when comparing FPS with a full KLAX.

I guess it depends upon how efficient the independent BATC traffic control program will be, as it will still be making use of CPU resource and that might still impact MSFS, especially with MSFS being so CPU bound.

Maybe it’ll be able to make use of other CPU cores, to minimise the effect on MSFS FPS? Either way, I really do hope that it will have minimal effect on the performance of MSFS.

Not sure if this is correct thinking but the phrase BATC will ‘inject’ traffic into the sim is not quite accurate. I think it might be better to think of it as BATC will ‘display’ traffic in the sim.

There is a difference in those 2 scenarios. When I think of traffic being injected, I take it that an outside program is placing entities into the sim for the sim to control, i.e. FSLTL, AIG, others

My limited understanding of what BATC is intending to do is, separately control, place, direct and track traffic completely via the external program, then simply ‘draw’ traffic in the sim.

This should (in theory at the moment) take a tremendous load from the CPU-Sim calculation cycles. I don’t know if that will improve frames but I think (pray) it will have a huge improvment on pauses and stutters.

2 Likes

Right. AI traffic has two parts, the code that manages how they move and the code that draws them. Both can impact FPS.

Anecdotally so far it seems that the code in MSFS that manages AI movement impacts the main thread and for many users this is frame rate limiting and so having BATC take this over frees up time for the main thread to get the current frame finished and start the next one sooner.

The rendering code is mainly run on the GPU and maybe also some work from the rendering thread on the CPU. For users that are GPU limited this is more likely to impact FPS. BATC will be placing planes and moving them around, but not actually drawing them on the screen as MSFS will still do that.

The claim from the BATC devs is that they have measured this kind of low level injection by direct placement and it gives better FPS than the fully managed by MSFS AI injection used by other traffic apps.

There is a possible downside to the BATC approach and that is the program is going to have to update the position of all of the traffic for every frame or its going to look really bad and jerky. That could be a lot of API calls and who knows if that itself could become a limiting factor.

And of course MSFS 2024 could totally rebalance the workload and change the equation again.

2 Likes

At least the updating/rendering of aircraft position should only be a significant factor for the aircraft that you can see. For the others, it would just be moving numbers about, if you’ll pardon the perhaps over-simplification. :stuck_out_tongue:

Let’s hope so! Again, much will depend on what models the dev uses and how they implement LODS for those models. You can see the impact of this with well designed scenery with lots of LODS and those that start trying to draw the entire airport in a high LOD from 10 miles out.

True. Presuming that’s the way they are doing it, then maybe and hopefully it comes down to clever programming and optimisation — for example batching the calls so it can update all aircraft in 1 call.

But maybe that’s not the only way to talk between apps? Any other examples… umm like the A2A external flight model ‘app’? (Which come to think of it is no longer needed?). But that is a constant stream of inputs to the sim world for everything being tracked. Is that API’s based or some other higher Hz connection?

Not my area of knowledge this but interesting!

FWIW I was also under the impression that when BATC comes to handling traffic it would be much less strain on MSFS’s side of processing. So should help a lot for having busy traffic sans stutters.

I don’t worry about performance, I can always reduce traffic to acceptable levels. I just hope AI planes won’t be that stupid like the current traffic is. They will cruise at correct levels, won’t fly into me on approach, won’t hit me on a taxiway, land without going around for no reason and will exit runway as soon as possible.

Also GA and military traffic would be nice.

1 Like

We’re veering off topic but the external flight model for A2A is badly labelled as it was never external. It’s an independent flight model which was always implemented in-sim (presumably using WASM). The external binary was only ever the sound engine which they replaced later with an in-sim sound system. This is how they were able to release the plane on xbox.

BATC is actually external and so cannot use WASM or other internal APIs. I’ve no idea what the external API provides because I’ve not researched it nor used it but I trust the developers have a solution.

3 Likes

Well, we know traffic works, because we’ve seen the test video. I suppose now, it’s tuning for the thousands of different airports, terrain elevations, and millions of other parameters…

May the force be with them. :eyes:

Simconnect is really the only external API available for the sim, unless you install a WASM module that is able to communicate externally and I believe even then you still have to do it via Simconnect, you can ‘extend’ the API with your own calls. That’s how the Mobiflight bridge works, for example.

Simconnect is reasonably fast, it can support a lot of traffic as it’s a C++ API. It’s a notification-based API so you subscribe to notifications about stuff - ie simvars - and you can send commands in response. Edit: A2A doesn’t use Simconnect for this per @RagingWombat839, so I’ve removed the speculation about it.

The only other kind of interface into the sim is the way FSUIPC does it (or did it, not sure if it still works this way in FSUIPC7) which is to directly read and modify bytes in memory within the sim process. I believe this is generally frowned upon these days.

In terms of AI hitting the CPU, I think it’s more the path and attitude calculations and not so much the rendering of the models, so BATC should perform well as it’s taking those calculations out of process, but as others have mentioned the complexity of the model and the LOD impacts on the performance. Multiplayer seems to hit harder than AI traffic, unless you’re using generic models for multiplayer, as user aircraft models are more complex than AI models. Some might have a bigger hit than others - for example, I did a group flight with a ton of Tecnam P2012s and it brought my CPU to its knees, where I could fly with a similar size group with other aircraft and it would be fine.

1 Like

@BartZiemski
Yes, I’m having trouble in VR with the push to talk button not working. It can initially work after switching into VR but invoking the mouse to appear with a mouse click seems to kill the push to talk function. Varjo Aero and push to talk button on the Velocityone Flightstick. I tried a push to talk button on the keyboard and had the same results. No issues with this area in 2D and completed a flight in 2D.

Don’t know if this would help. I had the same button (PTT on yoke) mapped in both the SIM (under Controls Options) and also in BATC. This caused problems trying to use the PTT in BATC so now I have to remember to unmap the SIM option when using BATC.

It looks like I hit a weird bug. BeyondATC will not pickup any audio from my microphone. It works fine on every other application except beyond ATC. I tried restarting the app and even rebooting my PC, but no dice. I guess it’s back to default ATC again :frowning:

I have to remap my PTT button in the BATC options every time I start it. I thought they’d fixed that, but I guess not. Not a huge deal.