Virtual Drive no longer virtual
Steam’s virtual drive has long been known to erode the loading performance of games using it. A new filesystem beta started last night containing Valve’s solution: accepting the inevitable and leaving GCFs for the full system.
Games using what was formerly the Steam virtual drive now have their files loose on the hard drive in
/common, a subfolder of
/SteamApps. Small NCF indexes take the place of GCFs to ensure that the standard filesystem’s features (alternate content mapping, “the various Steam APIs” and streaming) can still operate.
John Cook explains:
Any virtual file driver causes an extra cross-process synchronization to occur, which although small by itself can add up to a lot of time when you have tens of thousands of read requests. The quickest thing that can be done is simply not doing that work. Going forward we have two strategies for SteamFS:
- Direct SteamAPI file access (GCF), which lets the app take advantage of the cache file format’s strengths (lots of small, easily updatable files in a compact format).
- Loose files on disk (NCF), which lets old or licensed games run on Steam without integration work or any unnecessary indirections.
Once we realized that we could still support our Steam features while having loose files on disk, it became an easy choice to do it for old games.
The changes bring the GamersFirst programme, overshadowing so many of Steam’s public developments recently, one step closer to availability.