Comment déterminer la configuration matérielle / logicielle minimale de mes jeux?

72

Avec moi-même en développement, je n’ai que des ressources limitées, c’est-à-dire un ordinateur avec lequel je développe et teste le jeu. Je ne sais donc que mon jeu fonctionne avec cette configuration.

Quelles options ai-je eues pour tester le jeu sur les nombreuses combinaisons matériel / système d'exploitation? C'est un jeu de bureau Windows.

Crippeoblade
la source
3
Cela a toujours été une grande vague pour moi, alors j’ai pensé qu’il serait peut-être bon d’en débattre davantage.
Jari Komppa le
Super question! Je me demande moi
Dream Lane le

Réponses:

29

De prime abord, je vous suggérerais d'essayer de lancer le jeu sur quelques autres PC avec des amis ou des parents. Après cela, vous voudrez peut-être envisager une forme de test bêta, c'est-à-dire publier une démo ou autre chose afin de pouvoir obtenir les commentaires de la communauté.

Raoul
la source
1
Exactement. Il suffit de tester sur une large gamme de machines bas de gamme.
David McGraw
1
Ok ... tu as raison mais c’est ce qui peut faire penser à tout le monde. Je ne comprends vraiment pas pourquoi cette réponse particulière a trop de points positifs. Aucune infraction, c'est complètement vrai.
Notabene
24

Une de mes façons préférées de trouver cette information est d'utiliser des machines virtuelles.

En voyant comment vous pouvez configurer le matériel et la mémoire autorisés par la machine virtuelle, vous pouvez tester un large éventail de configurations sur votre propre PC. Cela vous permet également de tester plusieurs systèmes d'exploitation.

G. Davids
la source
7
L'inconvénient des tests de VM est que vous utilisez toujours la même vitesse d'horloge et que la prise en charge de la 3D reste assez catastrophique. Ils aideront à couvrir vos bases en s'assurant que votre jeu fonctionne sur 32/64-bit et la gamme de choix de fenêtres.
Erreur 454 le
Je suis d'accord, bien que VM couvre beaucoup de bases, il a des limites. À en juger par la pléthore de réponses, je pense toutefois que le demandeur sera ravi ^ _ ^
G. Davids le
1
@Error 454 Pas avec ESXi, comme décrit dans ma réponse. Vous pouvez réellement contrôler la quantité de ressources de processeur et de mémoire que vous souhaitez que le système d'exploitation ait
Ray Dey
@Ray Dey Désolé, ce n'est pas vrai, ESXi vous donne une carte virtuelle SVGA, il n'y a pas d'accès direct à votre carte vidéo: kb.vmware.com/kb/1011942
Erreur 454 du
@Error 454 Je n'étais pas certaine des capacités vidéo, je ne l'ai donc pas commentée. J'aurais dû le préciser. Mais merci d'avoir éclairci ça pour moi :)
Ray Dey
16

Vous devriez avoir une idée approximative de la minspec simplement en développant votre jeu - par exemple, si vous avez choisi explicitement d’utiliser D3D10 +, vous supprimez évidemment les machines XP. Donc, c'est un endroit pour commencer.

Trouvez un moyen de tester sur autant de machines que possible, idéalement après avoir implémenté un moyen de rassembler automatiquement des métriques de performance (les utilisateurs peuvent ne pas être fiables), ainsi que des informations non identifiables sur la machine sur laquelle le jeu tourne (processeur (s), nombre de cœurs, type de GPU, RAM, système d'exploitation, etc. - jetez un coup d'œil au type de données collectées par Steam Hardware & Software Survey ). Une des meilleures façons de le faire est de donner votre jeu à vos amis et à votre famille, comme cela a déjà été suggéré à maintes reprises. Une autre solution pourrait être d’approcher une communauté de développeurs de jeux de loisir et de voir s’ils sont intéressés à tester votre jeu. Je ne suis pas sûr qu'une telle chose serait une question appropriée ici sur GDSE, mais vous pouvez probablement trouver quelques personnes dans la zone de "chat" et vous pouvez également regarder / publier sur des sites Web tels que:

Tous ces sites Web ont des forums ou des sous-forums dédiés d'une manière ou d'une autre à montrer des jeux. Vous pourrez ainsi obtenir une réponse raisonnablement bonne. Je m'assurerais de divulguer dès le départ les statistiques que votre jeu collecte et / ou vous envoie, et pourquoi vous les collectez. Les gens peuvent en être ennuyés s’ils le découvrent après coup.

Notez que l’enquête Steam est également un outil utile en soi pour évaluer ce que devrait être une personne sensible. Elle peut vous aider à déterminer le rapport coût / bénéfice de la prise en charge d’une fonctionnalité ou d’une catégorie de matériel en particulier.

Josh
la source
13

Vérifiez:
- Combien de RAM il utilise
- Combien de texture et de mémoire GPGPU il utilise
- Fréquence de trame minimale / Fréquence de trame actuelle * Vitesse du processeur * SpeedUpFactorOf (nombre minimal de cœurs que vous pouvez utiliser)
- Équation similaire pour les unités de calcul de GPU
- quel niveau de opengl / directx / cuda, votre moteur de jeu a besoin de la carte graphique
- de combien d’espace disque l’installation + les informations utilisateur ...

Également tester sur différentes configurations matérielles.

Danny Varod
la source
2
Pour la plupart des logiciels, la relation entre le nombre de cœurs et la fréquence d'images n'est pas linéaire.
Ponkadoodle
2
Cette relation implique également que le jeu est limité en CPU, ce qui n’est pas souvent le cas.
Kromster dit de soutenir Monica le
Je voulais dire qu’en règle générale, chaque programmeur devait vérifier quelles technologies il / elle utilisait et de quelles ressources il dépendait. J'ai légèrement modifié ma réponse.
Danny Varod
8

Fondamentalement, vous souhaitez tester autant de machines que vous le pouvez, de la plate-forme de jeu rigide de vos amis à la machine réservée au courrier électronique et à Internet de votre gran. En particulier, la machine réservée au courrier électronique et à Internet de votre gran, car elle contient probablement beaucoup de logiciels malveillants et autres éléments susceptibles de gêner et ralentir votre jeu.

Les tests de compatibilité PC sont une grosse boîte de Pandore, et c'est pourquoi les tests professionnels sont coûteux. Donc, vous voulez tester autant de scénarios étranges que possible.

Je pense que le bêta test est la voie à suivre, à la fois avec des amis et la famille et un cercle plus large dans votre communauté de fans. Ce qui est important - ne vous fiez pas aux rapports anecdotiques. On peut compter sur vos amis pour répondre, mais la communauté dans son ensemble ne le fera pas, à moins que vous ne leur facilitiez la tâche.

Créez une connexion à votre application pour obtenir des informations précises sur les FPS, le temps de démarrage, etc. Donnez à l'utilisateur un questionnaire simple, idéalement intégré au jeu, permettant d'indiquer s'il a bien joué ou non. Et avoir ces statistiques et la journalisation facilement transmissibles par e-mail / transmissibles, pour que vous puissiez les examiner plus tard. Plus vous obtenez de statistiques, plus vous aurez une idée précise de votre titre: a) fonctionne-t-il du tout sur d'autres systèmes et b) fonctionne-t-il bien sur d'autres systèmes?

MrCranky
la source
6

Testez sur autant de PC que vous le pouvez (cela vous aidera également à détecter tous les bogues spécifiques). En tant que développeur, vous devez connaître vos principaux goulots d'étranglement - concentrez-vous sur leur stress. Vous pouvez demander à vos amis, collègues de travail, petite amie, parents, à beaucoup de gens sur des forums.

PS Juste pour référence:

  • Configuration requise du processeur = exécuter le jeu avec une résolution minimale ou aucun rendu GPU (j'espère que le code de rendu utilise un minimum de processeur)
  • Configuration requise pour le GPU = lancer le jeu sur un processeur puissant avec une résolution par défaut et voir quel GPU suffit à cette tâche. Mentionner également la version minimale de Direct3D / OpenGL
  • Mémoire RAM requise = combien de RAM le jeu prend-il (par exemple, via TaskManager, avec la colonne de taille de VM, pour voir toute la RAM allouée, pas seulement active)
  • Son = presque tout convient, il suffit de mentionner le support des canaux 2 / 5.1
  • Affichage = spécifier la résolution minimale jouable à l’endroit où se trouvent les commandes de jeu
  • Réseau = des tests de charge massifs et voir quelle bande passante le permet (modem 56K, DSL, T1, LAN)
  • Clavier / Souris / Tablette / Joystick, etc.
Kromster dit de soutenir Monica
la source
2
Après avoir obtenu ces chiffres, vous voudrez certainement les augmenter légèrement, au cas où votre jeu fonctionnerait avec une faible utilisation de la mémoire.
Le canard communiste
2

Pour les besoins, je supposerais le minimum de choses nécessaires pour faire fonctionner votre jeu. Cela dépendra des technologies que vous utiliserez pour développer vos jeux.

Par exemple, si vous utilisez des API spécifiques, telles que D3D9 ou OpenGL 3.0, vous devrez le spécifier, car certaines API ne sont pas compatibles avec les versions antérieures.

Si vous construisez avec Windows avec un framework .net, vous devrez également le spécifier.

Pour des performances optimales, essayer sur différentes machines est à peu près la meilleure solution, bien que vous puissiez peut-être mesurer les performances correspondantes par calcul.

Par exemple, si votre carte vidéo actuelle fonctionne à 60 ips, et qu'un autre ordinateur avec la même configuration, à l'exception que la carte vidéo soit à la moitié de votre vitesse, devrait fonctionner à peu près à la moitié de votre machine. Encore une fois, il ne s’agit là que d’une estimation, de nombreuses autres propriétés auront un impact différent sur les performances, mais vous pouvez utiliser ces informations de base pour tester votre jeu sur des appareils ciblés.

J'espère que cela aide, et quiconque est invité à me corriger pour quelque raison que ce soit.

Leo
la source
1

En fonction de votre marché cible (je suppose qu'il ne s'agit pas d'une technologie 3D de pointe, c'est-à-dire de cartes graphiques onéreuses nécessaires), je choisirais une sélection de cartes graphiques plus anciennes de quelque part comme EBay afin que vous puissiez tester à la fois NVidia et ATi. cartes.

PhillC
la source
1

Il est toujours parfait d'obtenir les commentaires de la communauté, comme mentionné. Mais où trouver la communauté et les gens qui vont essayer de le tester? Le poster sur certains forums de jeux indépendants aidera, mais le problème sera d’obtenir un feedback réel.

Seuls quelques pour cent des personnes qui testeront un jeu vous écriront leur configuration exacte et les problèmes qui se sont posés. Les gens ne font tout simplement pas cela. La méthode la plus efficace consiste à activer une sorte de référence avec la lecture de la configuration système des utilisateurs. Demander à l'utilisateur d'exécuter un test d'évaluation d'un bouton. Proposez des chiffres et des temps (ouais, les gens l'aiment :-)) et laissez-le comparer avec d'autres utilisateurs (avec l'envoi de données) ... Cela vous aidera.

Et puis vous avez une base de données pleine de configurations, de résolution d’écran, de temps de rendu et de fonctionnalités défaillantes ...

Si vous utilisez Windows, DXdiag vous aidera à lire la configuration des utilisateurs. Mais il existe certains programmes que vous pouvez utiliser sur d'autres systèmes.

Notabene
la source
1

Comme mentionné par d'autres, le meilleur moyen est d'obtenir une version bêta et de recueillir les commentaires de la communauté pour obtenir des résultats fiables.

J'aimerais également suggérer l'utilisation d'ESXi. C'est une solution de machine virtuelle de VMWare. Ne soyez pas rebutés parce que c'est une solution de VM. ESX est beaucoup plus bas niveau.

Ce serait probablement idéal pour vous puisque vous avez une machine. Vous pouvez tester différents systèmes d'exploitation et configurations matérielles (à l'exception du matériel graphique, ESXi utiliserait tout ce que vous avez installé sur votre ordinateur).

Il s’agit essentiellement de son propre système d’exploitation très simplifié sur lequel vous pouvez installer d’autres systèmes d’exploitation. Nous l'utilisons au travail pour assurer la compatibilité entre de nombreux systèmes d'exploitation. C'est très rapide et fiable, presque aussi réactif qu'une machine à la vanille.

Je sais que la configuration matérielle que vous recherchez est essentielle. ESXi propose une fonctionnalité très intéressante qui vous permet de limiter la quantité de RAM, de processeur ou d’espace disque utilisée par le système d’exploitation. fin du processeur ou peu de mémoire, pour une utilisation supérieure du processeur ou de la mémoire (limité par votre matériel réel).

Donc, si vous avez un PC assez sophistiqué, vous pouvez installer ESXi, installer le système d'exploitation de votre choix et jouer avec l'utilisation du processeur et de la mémoire (je pense que vous pouvez même modifier le nombre de cœurs utilisés par le système d'exploitation!).

Voici un lien vers ce site : http://www.vmware.com/products/vsphere-hypervisor/index.html

La meilleure chose à ce sujet? C'est 100% gratuit!

Ray Dey
la source
0

Utiliser une sorte d’outil de profilage serait un moyen. Pour les programmes Java, vous pouvez utiliser VisualVM ( https://visualvm.github.io/ ). Wikipedia en énumère d'autres. Voir: https://en.wikipedia.org/wiki/List_of_performance_analysis_tools . Il en va de même pour le débogage de la mémoire. Voir: https://en.wikipedia.org/wiki/Memory_debugger

En gros, cela revient à vérifier votre utilisation de la mémoire et du processeur à un intervalle régulier pendant l'exécution du programme / le jeu. Ensuite, vous calculez une fourchette moyenne et c’est ce dont elle a besoin la plupart du temps. Idéalement, cela serait automatisé (pour des raisons de cohérence et de précision) et vous voudriez exclure les quantités de ces ressources consommées, partagées ou utilisées par d'autres processus. Certains problèmes prioritaires pourraient masquer le fait que votre programme utilise peut-être davantage de mémoire s'il était disponible. C'est-à-dire que si le système d'exploitation était très occupé, votre programme pourrait ne pas avoir assez de mémoire.

En fin de compte, vous devez tester / comparer / profiler, puis analyser ces tests. Il est bon de pouvoir comparer une mesure de performance prédéfinie. Par exemple, dans un FPS, vous voudrez peut-être plus de 30 FPS pour un jeu jouable / agréable. Sur cette base, vous définissez la barre minimale au-dessus des spécifications matérielles requises pour atteindre ce taux supérieur à 30 FPS (dans la plupart des cas) (il est toujours possible pour l'utilisateur de faire fonctionner trop à la fois et de provoquer des plantages.).

Comme d'autres l'ont dit, vous avez vraiment besoin que d'autres personnes le testent sur différents matériels. Dans un monde idéal, vous auriez un groupe de groupes avec un matériel similaire au sein d'un groupe et effectueriez une sorte de contrôle ou de test d'expérimentation pour voir si plus / moins de mémoire, cpu, gpu importait lorsque les autres facteurs étaient maintenus constants.

Jeremy Harton
la source