I don't. Whether 70ms or 100ms or even 30ms, a direct fetch is too slow to be immediately addressable. You'll still be working with prefetching. The difference will be prefetching two frames in advance or six.
Effective latency doesn't just come from getting data from the SSD, it also includes whatever processing needs to be done to have the data initialised / formatted / loaded into the program memory space, with a pointer to the heap, with a reference in the page table etc. On PC pulling something already setup in virtual memory is, afaik, much faster than trying to load data in from the normal filesystem.
And in terms of latency, as long as the page table has a reference to it, and you know it'll be coming it becomes a question of whether you can wait for it or not. And for a number of things I have to say I that I think you could if you build around it. Some possible examples:
- If you realise you need a new texture page in memory at the start of a frame (sudden camera move), and you have lots of other work you can get on with in the mean time, you could trigger the page swap and hope it would be there. If it's not, fine, you go with whatever you have, but if latency is lower you have a greater chance of using whatever you're after that frame.
- If you make an AI state change, AI state changes are latency tolerant enough that you can load the new state behaviour in on the fly and begin using it when it's in. Possibly within the same frame that the change happens. You wouldn't necessarily need to prefetch it - you simply let the system page in the relevant data when the decision about the state change is made. Flag for the game to get back to this AI subroutine in, say, 500 microseconds (about 3% of a 60 fps frame), and free up resources for other processing work in the mean time.
- Animation. Same as above really. Characters typically have lots of different animation routines, and you normally move / blend between them based on a decision making process. Animation is decoupled from frame rate these days. Need to start blending in a new animation? Don't prefetch it, just pull it in on demand.
Audio? Just pull in new music, dialog and sound effects on the fly even if you're triggering scores of different ones at the same time (audio was one of Cerny's GDC examples for their six priority level SSD access, so he's definitely thinking along these lines too).
There are lots of places where you might not need to prefetch and where lower latency would be a boon! We're going to start seeing on demand, sub-frame time accesses to data on the SSDs. The Dirt 5 technical director has already explicitly stated that XSX is very capable of this. I think PS5 will be too, though possibly with different system level processes for handling this.
Sure, but you don't need some virtualised RAM to do that.
You don't need it, but it could make the process of pulling data into main memory faster and lower overhead than current console and PC methods. Infact, I'm inclined to think it definitely can make it faster in some circumstances - the PC pagefile is a good example of this. And a similar system with a high level of compression of the virtualised ram on SSD (compressed at build time), with a very fast and low latency decompression / IO block would minimise the transfer requirements.
Virtualised memory also allows for an increased degree of abstraction, not just for one particular system but for a generation of consoles (XSX and Lockhart) with very different memory profiles.
I think they key to managing Lockhart downgrades gracefully and time effectively will be investing in time in using MS's "velocity architecture" well. Know what you can leave to the virtual memory system and what you need to manage explicitly will be very important.
Yup. Assuming Microsoft does have a latency advantage I think that the window of latency and relative difference will be far less pronounced than the different in raw bandwidth. But if you're talking 2.5 seconds to load to the point where you're ready to play vs 4.8 seconds, it's still a huge advance over what console and PC gamers experience now.
I mean yeah it's definitely hard to see how the PC can mimic next gen consoles. Though gobs of DDR4 should be able to make up for most things ...
My thoughts about XSX and Velocity Architecture aren't really in opposition to the PS5 SSD btw. I do think MS are targetting latency, but I doubt the PS5 is going to be a slouch. Some of what I've supposed might be more difficult for them as they have to support off the shelf SSDs, but the six channel SSD seems to be about ... well ... managing latency for latency critical accesses.
I also wouldn't be surprised to see a similar option for pulling data from SSD "ready to go" like the one I think MS are going for with the "virtual memory".
Right across next gen MS and Sony might have slightly different approaches, but their goals seem to be very similar.