Hacker News new | past | comments | ask | show | jobs | submit login

"But, with SSDs, this changes entirely: new textures can be paged in within just a couple frames. Now, that paging can happen more on-demand." Erm, texture loading from RAM to the GPU memory already is critiqued in games, since players can see the slowdown when it happens.

Either this is going to be using the system RAM as a cache for the SSD data, (and then it will have the same problem, plus the developers will have to make sure that scenes can stay completely in the system RAM they have available, so this will be the limitation, not the size of the SSD), or they are getting the GPU to pull data directly from the SSD, and SSDs are very slow compared to RAM.




> Erm, texture loading from RAM to the GPU memory already is critiqued in games, since players can see the slowdown when it happens.

Well then, its good that the PS5 doesn't have system memory; like the PS4 before it, it uses a unified pool of GDDR memory for everything.

> or they are getting the GPU to pull data directly from the SSD, and SSDs are very slow compared to RAM.

Yes, this is what they're doing.

SSDs are slow compared to memory. But, that's not the important metric. The important metric is, are they fast enough to meet a specific rendering target, given each game's specific asset quality. But, actually, even that's not accurate: Games will change their asset quality to match the speed of the SSD such that they're capable of doing this, not the other way around. That's the special sauce of consoles; developers optimize specifically for the hardware available, because everything has the same hardware.

On PC, game developers say "alright, we'll bin 8 different asset qualities the player can select from based on their PC, hope they pick right, ship it." On consoles, developers say "hmm, if the player turns around in this segment, the framerate drops from 30fps to 20fps; lets dig in there and pre-load some of those assets." You cannot, fundamentally, at any level, compare PC gaming to console gaming, because the optimizations go all the way back to the overworked engineers at the development companies making sure the experience is great for the hardware console gamers have available. On PC, developers say "gamers can theoretically see the whole world, but we'll layer in some adjustable fog in case they can't handle it." On consoles, developers say "we know the system cant handle it, so lets block some sightlines with a mountain range and a few buildings."

The PS5 SSD can load data at upward of 9GB/s. This means the SSD is capable of loading 150MB of data within one frame at 60fps. If you develop games, you'd know how much data that is (its a ton). Hell; you can drop ten whole frames, 60fps to 50fps, most gamers short of DigitalFoundry wouldn't even notice, and you can literally replace 10% of the entire GPU memory. Even at 60fps, the SSD is fast enough to become a pretty dang suitable hot-cache for GPU memory.


In your last paragraph you are conflating throughput with latency. What good is 'loading 150MB of data within one frame at 60fps' when your game freezes while doing that. You cant simply count on MMU page table fault being handled, and new missing texture loaded 'just in time' from compressed SSD. You cant even do that _today_ on modern PC with uncompressed textures in main RAM, latency is still too big. Plus this isnt exactly new idea. 13 year old Carmack megatexture was one of the first widely known implementations. AMD shipped hardware support for Partially Resident Textures almost 10 years ago https://www.anandtech.com/show/5261/amd-radeon-hd-7970-revie.... We can go further 20 years back back to Gamecube flipper gpu virtual texturing (specialized texture unit MMU) http://www.nintendoworldreport.com/guide/1786/gamecube-faq-n...

At the end of the day PS5 will still precache streaming geometry/textures like PS4 does now (COD https://www.youtube.com/watch?v=mvdTtl27TpM), like PS3 did (GTA4), like PS2 did (GTA3), like PS1 did (Crash Bandicoot). Sadly there is no magic breakthrough coming with next gen consoles, and this SSD thing was the best they could muster to build the hype :(


Predicatively caching assets will absolutely still happen, but the critical point is that it has to happen less; if developers had to "predict" the next 20 seconds of viewports a player may see on a hard drive, an SSD may drop that to 1 second, or slightly more or less depending on what is expected to happen next in the scene. Not only is this strictly fewer assets, but its far, far easier to predict, which improves the accuracy of the predictions and thus lowers cached assets further.

Which brings me back to that 150MB in 1 frame number; that's not saying that nothing is being predicatively cached; its saying that some N frames are being predicatively cached, but if the developers make an intentional or unintentional cache miss, recovery from that miss is far, far faster.

Imagine you're walking down a grimy hallway; the player opens a door, and walks out into a sun-drenched paradise. 98% of players will just walk down the hallway and open the door, so the developers have a problem: They should definitely be predicatively loading the assets for the paradise outside, but should they also load the assets for the hallway behind the player? Most players won't turn around. If they throw out some of those assets behind the player, that could make more room for the paradise that's coming. Could have more particles, more bloom, higher res textures, all good things. Today, the answer to that question is usually Yes; if those hallway assets get de-loaded, the frame drops would be too huge if a player decides to turn around. Or, more commonly, its Yes (But): Maybe we could build a bend in the hallway, or put a second door behind the player, so if they turn around the immediate assets we'd need to load would be less, and we'll have more time to load what's further behind them if we need to.

With an SSD, that answer may be No; if they can load at 8 GB/s, they know the maximum turn speed of the player, the math is more likely to work out that they can actually just throw away those assets, or never build that bend in the hallway. If they end up needing them, maybe the framerate will drop from 60fps to 45fps for a couple seconds; that's still faster than nearly every game from current gen.

Technical limitations like IO bandwidth and latency have guided the development of games for generations, all the way to the very artistic design we take for granted as being the "vision" of some creative leader on the development team. You're playing Halo; you drop down a ledge; you can't climb back up the ledge to go backward. It feels real, we don't question it, but really that ledge is only there because an engineer needed a checkpoint to make sure the player couldn't go backward, so they could de-load some assets. Simple as that. Its not driven by artistry (though, it could be); its driven by technology and its limitations (learning about these "checkpoint ledges" is a "I can't un-see that" moment for many people; checkpoints are everywhere in many boundary-pushing games. Even the hyper-recent FF7R uses them all over, often like "duck underneath this pipe" or "squeeze through these boxes"; they usually let you go back, but it takes several seconds in a confined area, which gives the game more time to load the next area. Same concept).

With an SSD, maybe a creative designer says "lets put a ledge there, we want to keep the player moving forward". But it'll be an artist making that call, not an engineer.

This is also why this generation is significant even for PC gamers! What we're talking about isn't at a technical level; its not faster load times, its not higher framerate, its fundamental changes to the game design itself which were necessary for games running on consoles. It didn't matter that your $3,000 PC had a 970 Pro NVME SSD; Assassins Creed Odyssey was designed to run on a PS4, and it doesn't. But, now that everyone has an SSD, even PC games will benefit because the game will be designed under the assumption that its alright to load multi-gigabytes per second of assets from the cold storage. This "SSD-by-default" will get built into game engines which power games across every platform. And sure, we'll see the biggest benefits on the PS5 and with its exclusives, as its SSD and hardware decompress pipeline is far-and-beyond more powerful than anything PC gamers or the Series X has, but everyone will benefit none-the-less.


But there is nothing new here. Its not like developers avoided streaming assets and now somehow will do it. We have 7 years of Full hardware support in current gen consoles and plenty of games using it. ps4 - Partially Resident Textures, x1 - Tiled Resources https://blogs.windows.com/windowsexperience/2014/01/30/direc...

Here is another example, 6 year old Far Cry 4 with custom implementation https://www.youtube.com/watch?v=SVPMhGteeuE


Then why do even modern games still use these map and character movement tricks? According to you, this problem should be solved!

Because its not solved. Games have only gotten bigger; assets are bigger than ever. Having a hard drive in every console actually helped a ton, because the hard drive/memory bandwidth is larger than the disk/memory one, but it didn't help enough.

There's no way around the fundamental bandwidth at the hardware: If a game needs a gigabyte of assets for the next major scene transition, it will probably need to use tricks to make sure that scene transition takes longer than, say, 10 seconds (50-100MB/s is a typical read rate). Checkpoints; stall sections which slow the player down; limiting the top speed of the character or (especially) vehicles; slow opening doors (think Dark Souls/Bloodborne); vestibules between two doors with an adjustable length based on expected load time... They use technical tricks on the hard drive, copying commonly used assets all around the platter to reduce seek times. I've even heard it said by a developer that "we'd be fine in this transition if the game gets installed to the inner edge of the platter, but on the outer edge the load will take too long"; that's how close modern games run against hardware limitations.

The software in play hasn't changed. Duh. We're not talking about the software, we're talking about the SSD.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: