3 ms·
I get the excitement around it but most ue5 games are giant... I get that pixel streaming is expensive for stupid car configurators but downloading 8gb just to
by Zetobal 3y ago
I get the excitement around it but most ue5 games are giant... I get that pixel streaming is expensive for stupid car configurators but downloading 8gb just to look at your new car... I don't know.
- jsheard 3y agoYeah, the elephant in the room with big games on the web has always been and continues to be data storage. Even if the user sits there and waits for the whole thing to download there's still no reliable way to make sure it stays downloaded until the user decides they want to uninstall it, all caches and storage APIs are subject to the purged at any time.
- warvstar 3y agoWe have the ability to stream in content from our CDN, so even devices with little to no storage capacity can run games of near infinite size. The main issue in today's browsers is the 4gb ram limit, although many games can run within that limit. We have MEMORY64 support as well, removing that ram limit, but it will probably be a few months before some browsers enable MEMORY64 without having to use a flag.
- jsheard 3y agoStreaming solves some of the problems, but the browser purging caches behind your back means you'd presumably have to serve the same data to the same user many, many times in the course of a playthrough. Even if you get a good deal on bandwidth, is that economical? And how wide of a connection does the user need to keep up with streaming high quality assets? Games are already pushing 100GB when you download them up-front, with redundant streaming it's not hard to imagine that piling up to over a TB of bandwidth for one user.
- warvstar 3y agoIt can be, we have our data cached as close to the user as possible, in over 300 locations. It does add some latency, because instead of a 3ms latency to fetch and decompress assets, it now might be 17ms. However, because we also have a memory cache, this can reduce that latency significantly, and we use that for as many small and recently accessed assets as possible. Our virtual fs is multithreaded and works in tandem with Unreals async loading threads, so we are able to fetch multiple assets at a time, reduce wait tune. We also have the ability to know what assets are commonly fetched in a certain period and to fetch those ahead of time. Of course, if you combine bad networks, lack of storage capacity and large projects, you can be sitting around a while, or may not have the best experience. Keep in mind though, that the browsers don't usually evict data from the cache unless you've used up the storage quota, the system is under storage pressure, or the origin has not been accessed in a while. According to them
- kllrnohj 3y agoWith severe streaming pop-in and LOD issues, though. UE5 games are already being designed around the assumption of having an SSD to pull assets from and have major visible issues when just using a hard drive instead, which is still a good order of magnitude faster than most internet connections.
- warvstar 3y agoThat's actually the main thing we've worked on, WebGPU support is small potatoes compared to it, but I'm happy it's getting some attention here. We have an asset streaming system that enables you to stream in large, or near infinite size worlds at runtime, of course you still have to be smart about memory usage. We also have a server-side streaming solution that can be used as fallback, for constrained devices.