4 ms·
> You can only load 33MB of assets in a one frame in a best-case scenario. Back the GPU mapped resources with RAM. I have 16GB of it. That's plenty for one lev
by taspeotis 10y ago
> You can only load 33MB of assets in a one frame in a best-case scenario.
Back the GPU mapped resources with RAM. I have 16GB of it. That's plenty for one level's worth of assets.
GPU <=> RAM <=> SSD.
- johncolanduoni 10y agoI suspect we'll see more of this as 16+GB of RAM becomes more standard, at least for gamers. In the past it just wasn't a case that was worth optimizing for.
- imtringued 10y agoWhy does RAM even matter? Warframe merely needs 700MB and yet it still looks great.
- douche 10y agoI would really like it if some games would take advantage of the gigs of RAM I have just sitting around unused. Why are you thrashing disk loading assets all the time, when there's 12 GB of pristine, untouched RAM available? Obviously, there's the x86/x64 divide there - hopefully nobody is buying new 32-bit systems anymore, and that limitation can go away - although I'd rather get a x64 version of Visual Studio, but apparently that's not a good idea, because reasons[1] [1] https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting-64-bit-ness-in-visual-studio-and-elsewhere/ https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting...
- dkersten 10y agoSimilarly, I wish games would be smarter about level loading. One game I recently played, a racing game, when you select "restart race" it reloads the entire level (3d models, textures etc) when really all it had to do was reset a handful of variable (car positions, time, a few other things like that). If its not possible to reset these variables, then take a snapshot! Its especially annoying when a game, eg, autosaves before a boss battle and then when you die, instead of just resetting some stats and inventory, you have to reload everything... They already know there's a good chance you will die (that's why they autosave!). If its too much effort to reload just the bits that need it, then take a snapshot of non-graphics memory at the autosave point and just reload that. There's too many games out now where you can die very quickly (within seconds) if you're not that good yet, and then have to sit through a multi-minute loading phase over and over... very frustrating. (obviously this applies only to "reloading", not terminating the game and loading)
- kazagistar 10y agoGames are one-off code written in memory unsafe languages. They are usually a pile of hacks and bugs. Reset from known state is a nice, foolproof way to recover from problems, and reduce the likelihood to reach edge cases. I mean, yeah, when a game does allow bypassing load screens, it is pretty amazing bonus to game play: its the key to success in games like Super Meat Boy, to constantly maintain flow through failure and difficulty. But its hard.
- dkersten 10y agoKnown state doesn't have to include all of the static assets (art, music, level data).
- adrianratnapala 10y agoIf you have that much RAM, there should be no disk thrashing since your OS will cache it anyway. Unless my "thrashing" you mean memory-memory copies and page remappings.
- deleted 10y ago[deleted]
- izacus 10y agoIsn't that exactly how it's done right now?
- creshal 10y agoIsh. Right now, games explicitly handle resource loading/unloading from/to RAM in userspace. Using memory-mapped texture files would allow utilizing proven and much faster kernel infrastructure for this.
- masklinn 10y agoWouldn't that work completely naturally with unified memory? You mmap your assets, refer to that from GPU code, the OS would logically load the mapped data to RAM then push a subset of it to the GPU.
- deleted 10y ago[deleted]