• Skates@feddit.nl
    link
    fedilink
    English
    arrow-up
    95
    arrow-down
    7
    ·
    edit-2
    3 months ago

    Oddly? This is not odd at all.

    It’s been a while sincce I wrote code, but I’ll try to remember. Basically disk size and ram size have no connection. Disk size is for already generated assets (maybe you need to remember how the planes look like, so you create assets for all the planes. Or you want to have textures for the scenery, or for the Lincoln monument, or whatever).

    But then you need to load those resources into RAM to access them faster, because if you try to load them directly from disk, it’s a lot slower. So some part of those 64GB of RAM is because you are loading some premade assets.

    But aside from this, there’s also dynamically generated data that you have no way of knowing about at the beginning of the program, so you can’t prepare in advance and generate assets for it. Like say for example the player wants to begin flying the plane - he’s gonna have some different inputs than any other player. Maybe he drives slower at the beginning, or goes a little to the right when he takes off. Or his destination will be completely different. You now need to remember his velocity, his position on the map, the direction of his flight, his altitude, his plane’s weight and who knows what else, I’m not a pilot. All of this, you allocate memory dynamically, based on user changes, and this uses the RAM as well.

    Not to mention - you can make a 1kb program that takes 64 GB of RAM. You just ask the operating system for that much memory. You don’t even need to fully use it. It’ll take you one line of code.

    All this to say - nothing odd about the program being smaller than the RAM requirements. It can mean it’s not optimized, but it can also mean it has a lot of dynamic calculations that it’s doing and a lot of stuff it needs to remember (and in the case of a flight Sim this wouldn’t surprise me).

    • rottingleaf@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      arrow-down
      5
      ·
      3 months ago

      Technically correct, but if I’d have any input into hiring a person whose background involves making a flight simulator requiring 64GB RAM, that doesn’t emulate every mol in that plane for that cost (I’m exaggerating a bit), I’d ask many questions.

      • loutr@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        11
        ·
        3 months ago

        It requires 16GB RAM, which is perfectly acceptable. But it can use more if available, for high res textures I assume. Which are streamed from Microsoft’s servers, explaining in part the difference between install size and max memory requirements.

        • nik9000@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 months ago

          My guess is the big video ram is high resolution textures, complex geometry, and a long draw distance. I honestly don’t know much about video games though.

          The smaller install is totally the map streaming stuff. I’m unsure quite why it has to be so big, but again, I don’t know video games. I do recall you having to tell it where you want to start from and it’ll download some stuff there.

    • sushibowl@feddit.nl
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 months ago

      You now need to remember his velocity, his position on the map, the direction of his flight, his altitude, his plane’s weight and who knows what else, I’m not a pilot.

      You’re not wrong per se, but I’m having trouble fathoming gigabytes of data being consumed by these types of parameters. You could probably track hundreds of thousands of airplanes with that much space. The only thing that I could imagine taking up that much memory is extremely detailed airflow simulation.

      However, as a rule of thumb, the vast majority of memory data for video games is in most cases textures and geometry, and not so much the simulation. Based on the article, it seems this game streams high resolution geometry data based on your current location on earth, which I would say is the most probable reason it asks for so much memory.