this post was submitted on 15 Oct 2024
409 points (91.1% liked)
Games
32537 readers
1725 users here now
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Weekly Threads:
Rules:
-
Submissions have to be related to games
-
No bigotry or harassment, be civil
-
No excessive self-promotion
-
Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
-
Mark Spoilers and NSFW
-
No linking to piracy
More information about the community rules can be found here.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
That seems like a wildly inefficient way to render things
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.
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?
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.
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.
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.
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.
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.
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
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.
K so why not just include that with the initial installation, if you're gonna need to store it locally anyways?
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.
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.
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.
Do you want wait hours/days before you can actually play? Or only stream what you actually need when you play while you play?
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.
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....
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..
I'm suggesting that they build in an interface where you can select certain cities/regions or particular flight paths, you know, small chunks of stuff, and it would display how much it needs to download/cache up front. Give you a little progress bar and let you queue up multiple locations, if you have the bandwidth/room in your data cap. Let the user have control. Worst case, if you want to download a large area, start it at night, it downloads while you sleep, then it's ready in the morning, ezpz. Give the user control, instead of invisibly doing everything in the background without giving the user any way to monitor/control bandwidth/data usage.
I want to have more control over that process than just booting up the game, taking flight, and hoping I don't hose my roommates watching Netflix because my flight path is slightly off course and the game starts streaming gigabytes of textures I didn't think I'd need.
If that's the case, great, problem solved, as long as I can also turn off the auto-streaming feature.
If the game let me control what textures to download more granularly, instead of automatically downloading a bunch of shit in the background, I have control over when/if it that cap is reached. If I'm getting close, I can make the decision to wait until next month to download the New Zealand textures or whatever.
You're being awfully dismissive about this, but it's a huge problem. Most of the USA and Canada still has data caps. That's nearly half a billion people, and probably a good chunk of the overall audience for MSFS are from the US, using data capped Internet plans. Making a game intended for that audience that downloads huge amounts of data without a way to control it other than "just never fly in new areas 4head" is asinine. I don't think that wanting more control over what the game downloads is that ridiculous of a request.
Granted, but I want control over when that data is downloaded, and I only want it to be downloaded when I tell the game to download it. I don't want the game making that decision for me invisibly in the background.
No, it isn't. There's a monumental difference between the game deciding to download 100Gb of textures invisibly in the background while I'm playing the game and other people in my household are also trying to use that shared Internet connection, and me telling the game to download those textures overnight when no one else is using that bandwidth, and after I've confirmed that it isn't going to incur fees by pushing me over my data cap.
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
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.