Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Lionel Fuentes interview with Digital Foundry on SU 5

Featured Replies

Great interview that more people need to watch.

Lionel really knows his stuff, great to hear him speaking so openly.  They really have some very clever people on the Asobo team.  They will make a balls up now and again like all developers of  long term "games as a service" products, but overall i feel we're in good hands with this team and Microsofts backing.

 

posted 8H ago here to:

 

Edited by RXP

Now that I've watched the full video I made a written summary of the Xbox/Sim Update 5 engine optimisations, I guess I'll post it here since it's on the front page.

Quote

What we have today is a mix of Flight Simulator X, Asobo's engine and Bing Maps, and as such there is code dating back to 1995 which is mostly single-threaded.

The new terrain engine is meant to be multi-threaded, including tasks like HTTP requests to Azure/Bing, and also client processing like mesh flattening and normal maps for photogrammetry (which cannot be pre-baked). These processes are terminally-threaded, but the core simulation model is not (it does not take up much frame time however). The airport streaming comes from Flight Simulator X and is already multi-threaded.

They are practically using a full-blown web browser for the glass cockpits and the UI, using HTML, Javascript, CSS and more. This approach gives developers lots of flexibility, but it's hard to optimise. They particularly worked a lot on reducing the stutters due to Javascript garbage collection by lessening allocations and tracing unexpected places where they happened.

The terrain engine was optimised by reducing the memory usage of several different processes. There was a lot work into making things dynamic so they could adapt to different workloads, there is so much world data that they cannot tweak all of it optimally.

Their primary objective for the Xbox version was to make it work at all with the DirectX 12 renderer, and they are not limited by the render thread (which can split into other threads in some situations, like when writing to the G-buffer). They will take advantage of more DirectX 12 features in the future, but it won't bring more performance.

Regarding memory optimisation of the scenery, they unified the world rendering so that it draws only once over multiple instances (like glass cockpits and the VFR Map), they reduced texture storage where it was not needed, and they changed texture formats and compression. They also made the LOD streaming of airport objects more accurate.

They did some compositing on the browser part so they could get rid of intermediate textures and avoid allocations that were not necessary. More compression and optimisation was applied to the art, data and audio. Reducing visual quality would have been a last resort only if it were needed.

On the Xbox the simulator can utilise the custom decompression unit to stream airports and other things.

For the trees, they implemented the "impostors" technique where the farther ones are replaced with a 2D sprite, but by interpolating different viewpoints they look like a 3D object. They can now draw millions of them, and getting rid of the geometry shadows for both trees and terrain tiles that don't need them also helped a lot.

They co-operated with Microsoft GPU experts that could make reports on occupancy and compute to maximise GPU utilisation.

They have not experimented with mesh shaders yet, but they might do so if the need arises. The terrain engine is just based on vertex shaders now, and they use index buffers to select the tiles they do not want to draw.

They capped the frame rate at 30 FPS because they wanted to have something that looks consistently great, since the frame rate can vary a lot depending on the scenario. Usually the limit is still the main thread in most cases. They cannot detect when a TV supports VRR so they include an option for it, but even with the 30 FPS cap they think it looks smoother on a 120Hz display because the new frames update faster.

For the TAAU they accumulate up to 128 samples over time per pixel. In order to reduce ghosting artifacts, they are doing a cumulative moving average to reduce the usage of history when a new object appears.

 

Edited by ChaoticBeauty

Wow, ChaoticBeauty, you're a gem. Will go though it tomorrow.

Kind regards, Michael

Intel i7-13700K / AsRock Z790 / Crucial 32 GB DDR 5 / ASUS RTX 4080OC 16GB / BeQuiet ATX 1000W / WD m.2 NVMe 2TB (System) / WD m.2 NVMe 4 TB (MSFS) / WD HDD 10 TB / XTOP+Saitek hardware panel /  LG 34UM95 3440 x 1440  / HP Reverb 1 (2160x2160 per eye) / Win 11

A great interview. My summary:

We dumbed everything down to get it to run on the XBox and borked it at the same time.

Everyone should watch this video. If for nothing else to see his body language and literally laughing throughout all these complex issues they weren't even sure they could make work... Truly amazing.

Edited by Flyfaster_MTN002

SAR Pilot. Flight Sim'ing since the beginning.

1 hour ago, jarmstro said:

 My summary:

We dumbed everything down to get it to run on the XBox and borked it at the same time.

Proving once again that some people only hear what they want to hear, not what was actually said.

The interesting bit is when he talked about how the game when released still had slabs of single thread code dating back to 1995 that they are only now finally getting a chance to rework.

2 hours ago, Glenn Fitzpatrick said:

The interesting bit is when he talked about how the game when released still had slabs of single thread code dating back to 1995 that they are only now finally getting a chance to rework.

Yes legacy code which I pointed out last year yet got flamed for it🙄

anyway thanks for the write up - that’s really useful as Lionel speaks at such speed it’s hard work just keeping up with him 😳

Question - are the memory optimisations the main reason we now have pop-ins when panning? And if so could they not reverse that somewhat, maybe by means of a slider in the graphics options. And would doing so have an adverse reaction on frames, or will frames remain largely unchanged?

Lastly nice one DF, they clearly have a passion for FS and are therefore giving it the exposure it deserves on their channel👍

New PC Ryzen 9850X3D - 32gb ddr5 6000Mhz - MSI MAG B850 Tomahawk wifi - Gigabyte wind force gaming OC 5090 - 2TB Sabrent NVMe. Old PC - Ryzen 5900x - 32gb 3600Mhz RAM - Asus Strix X570-F Motherboard - ASUS TUF OC RTX 3090 - 1TB Sabrent NVMe. AOC AGON 32" 144Hz - Honeycomb Yoke - Thrustmaster HOTAS Warthog. T Flight Rudder Pedals - Trackir.

The pop in would likely be a more aggressive lod algorithm. This would definitely help gpu memory but mostly helps speed up the rendering on the gpu cores. 
 

lod is a combination of a lower resolution mesh (less triangles for the gpu to draw) and lower resolution textures (less gpu memory used). 
 

either of those can cause things to “pop”, as an asset switches between a lod setting.

1 hour ago, Anthracite said:

lod is a combination of a lower resolution mesh (less triangles for the gpu to draw) and lower resolution textures (less gpu memory used). 
either of those can cause things to “pop”, as an asset switches between a lod setting.

For the airport I'm making, I'm going to simply change it to use the same model for every LOD as a temporary thing. Not optimal but my airport is not in a dense area and generating a total of 400 files is not a fun thing to do for a freeware / donation ware project. That said, if you've messed with the DEV editor enough, I think it's still broken from the dev side (not sure for aircraft devs). The default editor has gone all "state whacky" and is unpredictable. I can still manually add problematic objects and adjust things in the XML, but that is silly to be doing this a year later after release. Desperately waiting for the next patch.

Edited by Alpine Scenery

AMD 5800x | Nvidia 3080 (12gb) | 64gb ram

  • Commercial Member
5 hours ago, Glenn Fitzpatrick said:

The interesting bit is when he talked about how the game when released still had slabs of single thread code dating back to 1995 that they are only now finally getting a chance to rework.

Exactly, this is the part that some people doesn't seem to get.

The question was HOW they managed to get such a dramatic fps increase, so Lionel started by giving some historical perspective about what they HAD and what they STARTED WITH (always using the past tense), explaining why some things cannot always pre-baked, why some things are hard to optimize, and what they HAVE done with SU5 to achieve that obvious fps increase and lower RAM/VRAM consumption, which of course will pay off big time when the PC version will move to DX12.

And the most interesting part is when he said "we had to take ownership of the code", which means they are finally starting now to have full control of code and optimizations, and less and less relying on legacy code. When the sim came out last year, it would have been very risky trying to remove *everything* coming from FSX in a single pass, it had to be a process, which is still going on.

Edited by virtuali

8 minutes ago, virtuali said:

And the most interesting part is when he said "we had to take ownership of the code", which means they are finally starting now to have full control of code and optimizations, and less and less relying on legacy code. When the sim came out last year, it would have been very risky trying to remove *everything* coming from FSX in a single pass, it had to be a process, which is still going on.

I think many of us agree and understand the complexities of such a giant project. The frustrating thing is the little oversights they keep making, this time there is a bug forcing Medium settings when people think they are in Ultra. This kind of stuff keeps happening. One time they deployed bad terrain files to everyone and pretty much turned a large portion of the world into a volcano moon, when they had the correct files and could have updated from their own files. It took them a couple months to fix some things that just required packaging a different set of files (which us modders had fixed in just a few minutes by using backup files). A couple months vs. a couple minutes? 

That's where we get frustrated and start questioning the entire process, when the smallest of mistakes are not corrected quickly but it takes months. A lot of this is not even code updates but very simple issues.

Edited by Alpine Scenery

AMD 5800x | Nvidia 3080 (12gb) | 64gb ram

  • Commercial Member
1 hour ago, hanhamreds said:

Question - are the memory optimisations the main reason we now have pop-ins when panning?

It's fairly sure that now, the sim is very aggressive not drawing stuff that is outside your field of view, which is what contributes to less draw calls per frame and higher fps.

However, the reason you NOTICE the pop-in when panning view fast or quick-viewing is likely because the recreation of objects that came back in sight is not made instantly, but it's happening across more than one frame.

If they tried to reinstate all objects at the same time, the result would likely be some pause/stutter, because of the longer frame time caused by not being able to recreate everything in 33ms ( the time you have at 30 fps). Instead, by spreading the regeneration of objects coming back into view across more than one frame, they can do this without affecting the smoothness of flight, because they never recreate more than a certain amount of objects per frame.

I hope everybody will agree that, starting with the assumption you WANT to increase fps ( which was the right thing to do not just for Xbox, but for PC users with average video cards, in the current historical moment of crazy GPU prices ), having to see some pop-in, is way better than having stuttering every time you pan the view!

And yes, I agree some kind of option or slider for users with high-end systems might be welcome, but that's something that shouldn't be too difficult to add.

Edited by virtuali

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.