Mon dossier de documents est inondé de sous-dossiers de divers jeux, y compris ceux de très récents titres AAA. En tant que développeur d'applications professionnel n'ayant aucune expérience dans le secteur des jeux, c'est tout simplement faux, ces fichiers appartiennent à% APPDATA% ou% LOCALAPDATA%.
Ma question est la suivante: existe-t-il une décision consciente de placer ces fichiers dans% UserProfile% \ Documents pour obtenir des avantages spécifiques, ou s'agit-il simplement d'un comportement hérité hérité de Windows XP? Ou y a-t-il une raison encore meilleure, telle que, par exemple, le fait que Steam demande ou recommande ceci ou qu'un moteur populaire le fasse par défaut?
Connexe: Dans quel répertoire écrire le jeu enregistrer fichiers / données? (pour éviter des discussions inutiles)
Réponses:
Non, pas vraiment.
Les développeurs de jeux n’ont pas toujours été doués pour respecter les conventions établies par un système d’exploitation. Bien que pour être juste, beaucoup de développeurs d’applications habituels ne le font pas non plus.
Les
%AppData%
dossiers et documents servent à enregistrer les données par utilisateur. La différence entre eux, aux fins de cette question, réside principalement dans le fait que%AppData%
l'utilisateur ne devrait pas avoir besoin de voir ou d'interagir, et que le dossier de documents est destiné aux documents de l' utilisateur : éléments qu'il voudrait voir et interagir. .Parfois, les jeux stockent leurs paramètres et enregistrent les fichiers dans le dossier de documents, ce qui les rend visibles. Ainsi, les utilisateurs moins avertis les verront et seront rassurés sur leur existence ou seront plus susceptibles de les sauvegarder correctement si leur méthode de sauvegarde est une méthode de sauvegarde éprouvée. brut, "copier le contenu de mon dossier utilisateur sur un autre lecteur".
Parfois, les jeux y stockent également des fichiers parce qu’ils n’ont pas modifié le comportement du code correspondant par rapport aux anciennes versions du système d’exploitation, ou tout simplement parce qu’ils ne se soucient guère de penser au problème.
C'est bête et généralement faux, mais c'est ce que c'est.
la source
%appdata%
retour. Lorsque j'ai regardé dans son dossier, mes créatures ont toutes été enregistrées en tant qu'images png, ce qui était assez étonnant et je pense que cela a été placé à dessein dans le dossier de documents, afin que les gens puissent facilement partager et télécharger plus de créatures et de véhicules. Cela dit, je ne comprends pas pourquoi les jeux qui utilisent uniquement un brutsave.dat
décident de mettre leurs affaires là-bas.SHGetKnownFolderPath(FOLDERID_SavedGames, 0, NULL, &path)
qui est par défaut%UserProfile%\Saved Games
. De cette façon, l'utilisateur peut facilement trouver et sauvegarder ses données de jeu sauvegardées, sans que cela ne gêne. Toutes les données autres que les progrès et / ou la configuration (par exemple, les shaders compilés, les ressources téléchargées ou optimisées pour la plate-forme, etc.) doivent aller dans appdata.En regardant mon disque, j'ai
%APPDATA%
%LOCALAPPDATA%
%APPDATA%
%LOCALAPPDATA%
%UserProfile%\Saved Games
%UserProfile%\Documents
sans compter ...%UserProfile%\Documents\My Games
C'est un rapport de 1: 9 pour savegames être stockés dans
%APPDATA%
,%LOCALAPPDATA%
,%UserProfile%\Saved Games
par rapport%UserProfile%\Documents\*
. Dans mon échantillon, les 4 jeux qui ne mettent pas de sauvegardes%UserProfile%\Documents\
ou%UserProfile%\Documents\My Games\
proviennent de petits studios. Je dois donc supposer que les grands studios avec des coûts de développement de plusieurs millions de dollars ont une raison de mettre tous leurs fichiers, y compris les fichiers temporaires%UserProfile%\Documents\*
.Bien que le comportement hérité puisse expliquer en partie cette situation, je ne pense pas que ce soit une raison suffisante pour justifier que tous les grands studios mettent leurs fichiers au mauvais endroit. Donc, il doit y avoir une meilleure raison.
La meilleure raison à laquelle je peux penser est de réduire les coûts de support client . Le problème est que
%APPDATA%
et%LOCALAPPDATA%
sont des répertoires cachés, et personne ne semble savoir%UserProfile%\Saved Games
. En plaçant les fichiersDocuments
, les studios peuvent économiser de l'argent sur les appels de support qui demandent comment sauvegarder des sauvegardes, ou comment migrer les sauvegardes d'un ordinateur à un autre. Exemples d’utilisateurs qui n’ont pas pu trouver de sauvegarde parce qu’ils se trouvaient%APPDATA%
ici , ici , ici et ici .Une autre raison pourrait être que les utilisateurs le demandent , comme dans cet exemple .
la source
steam\userdata
et 5 jeux avec des sauvegardes / données dans%ProgramData%
. Cela ne comprend pas les jeux qui conservent toutes ces informations dans leur répertoire d'installation ou ont réussi à trouver un autre emplacement pour stocker des données ou des sauvegardes.Je ne me soucie pas de rappeler le nombre de jeux que j'ai dû recommencer après une sauvegarde / restauration ou quelque chose de similaire, car j'ai déplacé tous mes fichiers importants de mes documents, mais j'ai totalement oublié les données des applications utilisateur telles que les fichiers de sauvegarde, car souvent avec les fichiers de programme ou d’autres lieux étranges (comme dans un dossier caché tel que appdata).
Personnellement, pour cette raison, j'aime bien l'avoir dans mes documents, même si je suis sûr que quelqu'un me dira de mettre en place un système de sauvegarde approprié au lieu de le faire manuellement.
Un peu de cohérence serait bien, et il serait encore plus agréable que des services comme Steam conservent des copies des fichiers de sauvegarde sur un réseau quelque part.
la source
D'après mon expérience personnelle, j'ai choisi de sauvegarder dans% UserProfile% car l'utilisateur disposait toujours d'un accès en lecture / écriture / modification sans avoir à modifier les autorisations.
Ce n'était pas vrai avec% APPDATA%. En particulier lorsque vous utilisez des comptes d'utilisateurs restreints, vous n'avez souvent pas d'accès en écriture aux fichiers créés par d'autres comptes à l'intérieur de% APPDATA%. J'imagine que les titres AAA ont fait leur choix pour les mêmes raisons que nous; nous ne voulions pas le mal de tête.
la source
De mon point de vue personnel en tant qu'utilisateur, je distingue principalement les données pour lesquelles je souhaite des sauvegardes et les données pour lesquelles je ne m'en soucie pas.
La création de sauvegardes incrémentielles de
%LOCALAPPDATA%
est un gâchis, car elle encombrerait la sauvegarde avec des dizaines de milliers de fichiers temporaires, dont beaucoup sont verrouillés par des services d'arrière-plan. Cela rend les sauvegardes lentes (surcharge de nombreux petits fichiers) et inutilement volumineuses (la modification fréquente de fichiers temporaires sabote la partie "incrémentielle"). Pour éviter cela, vous devez gérer manuellement une liste d'exclusions.%APPDATA%
est légèrement mieux, car il n'est pas censé contenir des fichiers temporaires tels que des caches - malheureusement, de toute façon, et la plupart des paramètres du programme ne justifient vraiment pas une sauvegarde.En fin de compte, les parties sauvegardées sont un type de données avec lequel je souhaite interagir en tant qu’utilisateur, et elles
%UserProfile%\AppData
ne se prêtent pas à cela.la source
Pourquoi ne pas utiliser / "dossier d'installation du jeu" / savegame / comme les jeux plus anciens? Je n'ai jamais compris pourquoi mettre des sauvegardes dans des dossiers cachés ou même dans mes documents sur le lecteur système.
Autrefois, vous saviez toujours où étaient les sauvegardes.
la source
"game installation folder"
est%ProgramFiles%\<gamename>
.%ProgramFiles%
est destiné à être modifié uniquement lors de l'installation / la désinstallation des programmes. Étant donné que les applications Windows XP / Vista écrivant dans ce répertoire doivent être exécutées en tant qu'administrateur, il est donc plus difficile pour un virus de remplacer word.exe par une version infectée de word.exe. Une autre raison est que Microsoft souhaitait que plusieurs utilisateurs puissent utiliser les mêmes programmes sans avoir à partager leurs fichiers personnels, dans ce cas des sauvegardes. Il existe d'autres / meilleurs moyens de résoudre ces problèmes, mais ils n'ont pas été choisis à ce moment-là.