In the June 2024 Dev Q&A, Seb described how compared to PC, Xbox has no virtual memory. This was surprising to me - but it explains a lot of the limitations we experience. This seems like a choice with a lot of consequences that should be reconsidered by the decision makers on the Xbox engineering team. I can guess the reason has to do with file system visibility (no visibility on Xbox), and yet:
- How can there be the OS, games, and other DLC content without SOME file system visibility - after all Xbox tells you how much free space there is?
- How can Rolling Cache be possible, but not Virtual Memory?
- Surely Microsoft can figure out virtual memory on their own system while preserving security?
Can we talk about some sentiment Xbox users are feeling about the dynamic LOD change as it relates to black Avionics?
Seb: I’ve seen people say that the changes on Xbox may be due to some new memory system coming from the development that is ongoing on 2024. There was a new memory system that has been ported from 2024 to 2020, but only on PC…
…On PC, there’s also fixed memory, but you have a virtual drive, a virtual memory on the hard drive, and you can swap, which means that most of the time, if you open your task manager, you will see that many software and PC use way more memory than your PC has. And the system just elegantly swaps it out onto the hard drives. We don’t have that on the console. So the only thing we can do when the software uses more memory than we have is to play with load balancing on quality. And if we do this wrong, if memory runs out, the system will just crash. And so previously, on Sim Update 14 and before, The crash rate, which Jorg just showed on [Sim Update] 15, was a lot higher because, well, it happened that the system would run out of memory. And one of the triggers we play with is we switch off glass cockpits because they cost one gigabyte, just the glass cockpits…
… But what also happened on Sim Update 15 is there’s been improvements to traffic. liveries, all sorts of stuff. And this has pretty much eaten away a little bit of the memory that we made. And then there was the GDK, which would give us half a gig, which was a really good news, but unfortunately we couldn’t get it in. So the setting we left in the end was a trade-off, which still significantly reduces crashes…
…And our plan right now is pretty much that the new GDK will solve all of these issues on Xbox Series S. The added half a gig is only on Xbox Series S, not on X. And on X, we don’t think there’s that many problems. So what we pretty much need is on our side, a bit more testing and investigation of the different cases to see if it’s just S or X or both. See if the GDK will solve most of these issues and gather more feedback also to maybe just adjust.
And so, I’m wondering if there are some basic software design strategies that might help find more free memory:
- When you create a flight in the World Map, by default ALL of the cities, runways, points of interest, fauna, etc, are all ON, and being displayed on the Map. Perhaps these should be OFF by default (or at very least remember use choices from flight to flight) which would reduce the amount of things MSFS is tracking and displaying from the start. If the user turns POI, or grass runways, or heliports on, only then load them.
- Are those items loaded in the flight even if you turned them off in the World Map? If so, that would be an obvious waste of memory. That’s just an example.
- How many layers of data are there in scenercy? Base Map, plus POI, layers for World Updates, auto-gen trees and buildings. Can any of those layers be flattened to reduce the overall number of layers and masks? For example, in the Caribbean, there are water masks. Where the water is masked, the underlying Bing data that you don’t see is still there taking up memory - so could it be flattened?
- And plane specific things, like in the default 787-10, the tablet is only used for take-off calculations. I do turn it off in the hope that it frees up memory - but is it programmed to release the memory used for the tablet when I turn it off? (maybe it should be?) And so on.
Just thoughts, because since SU15, it seems I’m having issues on every flight now, and SU16 with GDK improvements has no date yet.