IridiumIO / CompactGUI

Transparently compress active games and programs using Windows 10/11 APIs
GNU General Public License v3.0
5.11k stars 237 forks source link

Note about not compressing DirectStorage games #423

Open Aemony opened 7 months ago

Aemony commented 7 months ago

Not really a bug, but more of a head's up since I don't see it mentioned anywhere in the readme or wiki. It should probably be mentioned somewhere that the tool should not be used to compress modern DirectStorage enabled games since doing that negates the purpose of DirectStorage.

DirectStorage relies on BypassIO to skip the volume stack of Windows and achieve most of its intended CPU overhead reductions, however that I/O optimization won't engage for NTFS-compressed files.

Iridium-IO commented 4 months ago

Added this info to the main readme - unfortunately there's no internal way to tell whether files can be accessed via DirectStorage and there's no Steam API calls to check either.

unni257 commented 3 months ago

Hi

Sorry for commenting on a closed issue, but I just came across this and wonder if it could help identify and skip compression of DirectStorage-enabled games?

By all accounts, that page isn't really accurate (see Corsair's blog post on the matter), but maybe it's better than nada? 🥲

Iridium-IO commented 3 months ago

As I said before, there's no API to access that data. SteamDB has their own way of finding that info out.

There's also the matter that just because a game supports DirectStorage, doesn't mean it will be active. Maybe once more games actually support it I'll look into it, but right now it's not worth it for less than two dozen games

Aemony commented 3 months ago

For reference, SteamDB just identifies DirectStorage by the inclusion of the dstorage.dll file in a few common subfolders of the game, see their ruleset here: https://github.com/SteamDatabase/FileDetectionRuleSets/blob/main/tests/types/SDK.DirectStorage.txt

Iridium-IO commented 3 months ago

@Aemony that's excellent, might be able to use that