Jump to content
Sign in to follow this  
z06z33

Why does Asobo refuse to fix FPS drops in airliner cockpits?

Recommended Posts

Another clickbait titled thread turns toxic. Well, colour me surprised...

  • Like 1

KInd regards

Jean-Paul

I7 8700K / Fractal Design Celsius S24 watercooling / ASRock Z370 Extreme4 motherboard / Corsair 32GB 3200mhz DDR4 / INNO3D iChiLL GeForce GTX 1080 Ti X3 / Samsung SSD 960 EVO M.2 PCIe NVMe 500GB / Seasonic-SSR-850FX power supply / Fractal Design Define R5 Black case / AOC Q3279VWF 32″ 2560x1440 monitor / Benq GL2450 24″ 1920x1080 monitor / Track-IR 4

Share this post


Link to post
Share on other sites

I’ve hidden a couple of posts because people cannot behave in a civilised manner. To those responsible, consider yourselves lucky you’re not taking a holiday.

Keep it polite and if you disagree with someone else’s opinion put up a counter-argument with evidence.


Ray (Cheshire, England).
System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke.
Cheadle Hulme Weather

Share this post


Link to post
Share on other sites

There's a lot of misinformation here.

The Coherent renderer, used in MSFS is exceptionally fast. In general web engines are enormously optimized for exactly the cases you want in a complex display system like exists in modern glass cockpits. It's not a language or a technology issue, at all.

At issue is just some of the techniques used. There's a lot of opportunity in the existing instruments for optimizing places where there could be less redraw and calculations. I think it's just a matter of how big the sim is as a project as a whole and how they need to focus on the big features like VR and helicopters.

I think we'll see these issues tackled in time.

-Matt

  • Like 1

Share this post


Link to post
Share on other sites
16 hours ago, BigDee said:

I know that modders can mod the screens by using Java code. It might be the case the developers used Java code in the GA airliner displays. Java code must be compiled at runtime and makes it 10 times slower then usual code. That is a real dumb thing, but what should one expect from them?

 

 

I think there's a bit of confusion here. The displays shipped with the default aircraft (both airliners and G1000/G3000 GA aircraft) make use of JavaScript, which is a completely different language than Java. JavaScript is an interpreted language, not a compiled language, and is being run through the Coherent engine. A good amount of the JS code in the A320neo, for example, isn't optimized the best - for example, both ECAM displays were making double the amount of Simvar calls as necessary, and the PFD and ND currently draw SVG elements on the fly, rather than at initialization. We're looking into optimizing a lot of this code in the A32NX, and we expect Asobo to further optimize the engine itself as well, so you should see some FPS improvements soon.


Please do not contact me via DM for support or help with the A32NX mod. We recommend using our help channel on our Discord.

Share this post


Link to post
Share on other sites
1 hour ago, IcemanFBW said:

The displays shipped with the default aircraft (both airliners and G1000/G3000 GA aircraft) make use of JavaScript, which is a completely different language than Java. JavaScript is an interpreted language, not a compiled language, and is being run through the Coherent engine.

Exactly, I don't think interpreted JavaScript is the right language choice for this application at all.  

I also don't understand why the glass cockpits displays impact the overall sim FPS in the way that they do at max glass cockpit refresh rates.  They should be implemented in a second thread/core using some kind of asynchronous buffer between the threads such that the sim doesn't get slowed down by whatever the displays are doing. 

I just don't think Asobo made the right design decisions here to ensure maximum performance or even sufficient performance given the CPU resources available on modern multicore computers. 

Edited by marsman2020

AMD 3950X | 64GB RAM | AMD 5700XT | CH Fighterstick / Pro Throttle / Pro Pedals

Share this post


Link to post
Share on other sites
1 hour ago, marsman2020 said:

Exactly, I don't think interpreted JavaScript is the right language choice for this application at all.  

I also don't understand why the glass cockpits displays impact the overall sim FPS in the way that they do at max glass cockpit refresh rates.  They should be implemented in a second thread/core using some kind of asynchronous buffer between the threads such that the sim doesn't get slowed down by whatever the displays are doing. 

I just don't think Asobo made the right design decisions here to ensure maximum performance or even sufficient performance given the CPU resources available on modern multicore computers. 

The fact that JavaScript is interpreted instead of compiled is a red herring here. It isn't interpreted in the sense that it is read off linearly like a script; the JIT compiler turns that bytecode into native instructions just once, it just happens to be right before it runs as opposed to before that. By the time you've run through a frame or two the jitter is totally hot, there's basically no code paths left to compile. The whole bogeyman about modern interpreted languages being significantly slower, especially in the areas that are mostly used here, has just not really been true over the past decade or so.

And indeed, the Coherent draw thread is already asynchronous to the other threads. In fact, it's as asynchronous as is architecturally feasible, since you still need to synchronize at the end of the frame for two reasons: you need to pick up the display texture buffers so you can display them, and to avoid a seriously huge amount of possible race conditions, since the instruments access and also update shared sim data. Without a sync like that you'd have to protect against torn reads of the buffers, and you'd have to synchronize access to all the different simvars, which come from all over the engine.

We have internal code running full complex instruments at under 1ms Coherent draw time. The issue isn't the language or framework, the issue is individual instrument optimization.

-Matt

  • Like 5

Share this post


Link to post
Share on other sites

I'd much rather have good performance of the aircraft I've already paid for than VR and helicopters (especially since helicopters will undoubtedly bring with the a new set of glass displays to be optimized). 


AMD 3950X | 64GB RAM | AMD 5700XT | CH Fighterstick / Pro Throttle / Pro Pedals

Share this post


Link to post
Share on other sites
1 hour ago, MattNischan said:

The fact that JavaScript is interpreted instead of compiled is a red herring here.

Thanks Matt,

Your 2 paragraphs taught me more in the time it took to read them than I would've possibly learnt from Googleing for hours!

  • Like 1

Cheers, Søren Dissing

CPU: Intel i9-13900K @5.6-5.8 Ghz | Cooler: ASUS ROG RYUJIN III | GPU: ASUS Strix RTX4090 OC | MoBo: ASUS ROG Maximus Z790 Hero | RAM: 64Gb DDR5 @5600 | SSDs: 1Tb Samsung M.2 980 PRO (Win11), 1Tb Samsung M.2 980 PRO (MSFS), | Case: ASUS ROG Helios 601 | Monitors: HP Reverb G2, 28" ASUS PB287Q 4K | Additional Hardware: TM TCA Captain's Edition, Tobii 5 | OS: Win 11 Pro 64 | Sim: MSFS | BA Virtual | PSXT, RealTraffic w/ AIG models

 

 

Share this post


Link to post
Share on other sites

I'm no expert, but it occurred to me that there is another advantage to using something like JavaScript.

Modifications.

Such as what FlyByWire and Working Title are doing. If the gauges were using compiled binary code, with no access to the source code, we'd be stuck with what has been provided.

Just a thought. I could be wrong.

...jim


ASUS Prime Z790-E, Intel i9 13900K, 32Gb DDR5 Ram, Nvidia 3090 24Gb, Samsung 970 EVO Plus 500 GB and 1 TB, Samsung Odyssey G9 Ultrawide 49" G-SYNC Monitor.

Share this post


Link to post
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
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...