3 ms·
> You're only likely to see code take good advantage of such hardware if it was especially made for it, like you have an enormous world with a very high detail
by tristor 5y ago
> You're only likely to see code take good advantage of such hardware if it was especially made for it, like you have an enormous world with a very high detail level that can't be preloaded and the code relies on constantly streaming it.
For AAA titles this is pretty commonplace, with progressive loading to eliminate loading zones. The exception is MMOs and single-map multiplayer games (CoD, etc) which have a loading point which they also synchronize users.
For League of Legends, in particular, it was interesting back in the day because it shows you how long it takes each person to load, I'd always be first by a large margin with a RAM drive. Of course it didn't help since you had to wait for everyone to load before you started, but in single-player games it was a huge benefit, especially epic RPGs which had minimal loading zones.
- dale_glass 5y agoI mean, it's hard to keep up with a NVMe as it is. Anything not specifically intended for that scenario will probably load data too slowly for a RAM disk to improve matters, and anything made for a NVMe is going to be made to stream data in real time where it won't make a noticeable difference.
- Koshkin 5y agoOn the other hand, I think mmap from a ramdisk should be as fast as it gets.
- dale_glass 5y agoOnly if everything is already in 100% usable condition. Eg, if you have textures and need things like decoding the PNG/JPG, creating an instance of the Texture class and filling in the fields, re-encoding it into whatever format and resolution your video card wants... that's where you're going to lose a lot of the performance.
- Koshkin 5y agoYes, mmap is most useful when the data is usable "as is."