• LeroyJenkins@lemmy.world
    link
    fedilink
    English
    arrow-up
    38
    arrow-down
    2
    ·
    1 month ago

    3d terrain tile streaming takes a crazy amount of data. it essentially downloads hundreds of png files at a time and overlays them over 3d terrain data. Everytime you move an inch or pan the camera, it pulls down new data.

    • zalgotext
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      2
      ·
      1 month ago

      That seems like a wildly inefficient way to render things

      • AlotOfReading@lemmy.world
        link
        fedilink
        English
        arrow-up
        14
        ·
        1 month ago

        MSFS implements optimizations on top of that (progressive detail, compression, etc), but that’s how almost all map systems work under the hood. It’s actually an efficient way to represent real environments where you don’t have the luxury of procedural generation.

      • Decq@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        2
        ·
        1 month ago

        That’s literally how every 3d game works (barring a few procedural games maybe). Now they just stream those texture and meshes as needed and presumably cache them.

        Don’t get distracted by this terrible piece of an article. It never states how long this peak was. It could have been just 100ms. So interpolating this to 81gb/h make no sense at all. It’s just pure click bait.

        In the end only the total volume downloaded matters (which the article of course doesn’t mention). Why wouldn’t you want to receive that as fast as possible?

        • LeroyJenkins@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          2
          ·
          1 month ago

          it’s not the same. 3d games use polygons and shaders and whatnot. you can optimize things much easier in that space since it’s a lot more computational. 3d tiling is literally a bunch of png files being streamed down.

          • Decq@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 month ago

            Yes, just like msfs does. They still use polygons and shaders… Polygons that make up the terrain and more and shaders that sample png tiles as textures… Msfs really does not do anything different than other games, outside of streaming in the assets instead of pre-installing them. Not sure why people think it’s any different.

            • zalgotext
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              1
              ·
              1 month ago

              Other games store those png tiles locally. Which, sure, increases the installed size of the game. Storage is cheap though, might as well use it right? Like, even if this article is off by an order of magnitude, 8Gb/h is still a ton of data to stream just to play a video game. If other games also do that, that’s news to me. But i was under the impression that games try to be as efficient as possible when it comes to networking. Storing all your texture tiles in the cloud and making your clients download and redownload them seems the opposite of efficient, or at least that they optimized for the wrong thing.

              • AlotOfReading@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                1 month ago

                A highly compressed, global base map at 1m resolution is somewhere on the order of 10TB. MSFS is probably using higher resolution commercial imagery, and that’s just the basemap textures, most of which you’ll never see.

              • Decq@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                1 month ago

                Thats why there is a cache, so you don’t re download every time… So only new locations you visit will be streamed, but it will still be way less than having to pre install maps with locations you might never even visit in game… I don’t get why this is so hard to grasp.

                Do you manually download all your maps from google maps/earth every time before you use it? No you don’t, you let the program figure out which parts you actually need and stream it to you. Same exact thing, fot the exact same reason.

                Storage is cheap

                So is bandwidth. 8gb/h is only 2mb/s which was maybe a lot 25 years ago. These days you can’t even get a connection slower than 50/100mb/s

                But i was under the impression that games try to be as efficient as possible when it comes to networking.

                Games try to be as efficient possible with their network code for real-time updates, so latency is minimalized. This is not at all important if you prefetch stuff minutes before you actually need it.

                • zalgotext
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  1 month ago

                  Thats why there is a cache, so you don’t re download every time… So only new locations you visit will be streamed

                  K so why not just include that with the initial installation, if you’re gonna need to store it locally anyways?

                  it will still be way less than having to pre install maps with locations you might never even visit in game…

                  Or allow users to decide what areas of the map they want to fly in and just download that subset when the user requests it?

                  Implicitly streaming that much data seems like a good way to piss off your users when they unknowingly saturate their bandwidth or bump up against their data cap.

                  Do you manually download all your maps from google maps/earth every time before you use it?

                  No, but Google maps doesn’t potentially use gigabytes of data per hour, and isn’t something I use for hours on end multiple times a week like a video game, except in relatively rare occurrences like road trips/vacations.

                  So is bandwidth

                  You pay for storage once and that’s it. You pay a subscription for bandwidth, plus fees if you go over your data cap. Bandwidth is absolutely more expensive than storage, and should be optimized for.

                  • Decq@lemmy.world
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    arrow-down
                    1
                    ·
                    edit-2
                    1 month ago

                    K so why not just include that with the initial installation, if you’re gonna need to store it locally anyways?

                    Do you want wait hours/days before you can actually play? Or only stream what you actually need when you play while you play?

                    Or allow users to decide what areas of the map they want to fly in and just download that subset when the user requests it?

                    Implicitly streaming that much data seems like a good way to piss off your users when they unknowingly saturate their bandwidth or bump up against their data cap.

                    You do that by, hear me out, playing! And the game figures out where exactly you want to play and what you need. Besides, it probably will be an option to preload anyway but I don’t know enough about MSFS. And in the case of preloading, you would hit the exact same data cap.

                    No, but Google maps doesn’t potentially use gigabytes of data per hour, and isn’t something I use for hours on end multiple times a week like a video game, except in relatively rare occurrences like road trips/vacations.

                    Yes and you only don’t fly everywhere in game that you would have to download in these preloaded chunks/regions you’re so happy with. If you just intend to stay in the same location, the streaming will stop! Because, everything will be cached…

                    You pay for storage once and that’s it. You pay a subscription for bandwidth, plus fees if you go over your data cap. Bandwidth is absolutely more expensive than storage, and should be optimized for.

                    So you cancel your ISP subscription ever time you finished downloading a game, movie, whatever? No you keep paying so you might as well use it. And if you a data cap, I’m sorry for you. That’s a real bummer. But, I don’t know why i have to keep repeating this point, the amount of data is at worst the same! (if you have enough storage to keep it all in cache) If you don’t want to use more data don’t fly to regions you haven’t downloaded yet… But this is the exact same as with preloading…

            • LeroyJenkins@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 month ago

              kinda… graphics all end up as polygons eventually but 3d tile rendering has a lot of different considerations and limitations you don’t have with rendering a normal 3d asset rendering. check out things like CesiumJS that is an equivalent kind of technology

      • ngwoo@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 month ago

        The world they built for the game is hundreds of terabytes, it’s really the only way to do it without forcing players to preload tiny chunks of the world and restrict their flight to only the ones they’ve downloaded.