Qu'est-ce qu'un moyen fiable, mais pas trop long, de déterminer si un certain jeu est limité par la carte graphique ou par la vitesse du processeur?
J'ai des idées préconçues quant à savoir si je suis principalement GPU ou CPU limité, mais j'aimerais vérifier si j'ai raison. J'ai des idées sur la façon dont je voudrais faire le tour, mais faire des benchmarks précis est notoirement délicat et je n'ai pas beaucoup d'expérience.
Je me demande donc quel serait un moyen simple de déterminer le goulot d'étranglement, n'ayant qu'un seul ordinateur avec une certaine configuration disponible? Quels outils utiliserais-je à cette fin?
Il serait également intéressant de déterminer si le montant de VRAM sur ma carte graphique est un facteur limitant.
Deux règles d'utilisation que j'avais l'habitude d'utiliser:
Si l'augmentation de la résolution entraînait une forte baisse de la fréquence d'images, cela pourrait indiquer que le jeu était lié au GPU, car la résolution accrue rend la carte vidéo beaucoup plus difficile et, par conséquent, prend plus de temps pour obtenir chaque image porte.
D'autre part, si l'augmentation de la résolution ne provoquait qu'une baisse négligeable de la fréquence d'images (ou aucune diminution du tout), il s'agissait d'un indicateur que le jeu était lié à la CPU, car la complexité vidéo supplémentaire était facilement traitée par la vidéo de rechange La capacité de traitement de la carte alors que la logique de traitement du jeu principal a déjà rattrapé la CPU. Dans cette situation, le moteur du jeu est trop occupé pour pouvoir donner suffisamment de travail au sous-système vidéo.
Cependant, je ne pense pas que les jeux aujourd'hui soient si simples que les performances sont facilement limitées comme ça. Depuis de nombreuses années, les GPU sont devenus plus complexes et les développeurs trouvent des moyens de décharger plus de travail, donc il y a beaucoup de travail qui pourrait être fait de chaque côté … C'est pourquoi je n'utilise pas ces règles. Beaucoup plus – ils ne s'appliquent pas vraiment. L'hypothèse était que l'augmentation de la résolution ne provoquait pas de travail supplémentaire sur la CPU.
Si vous avez suivi les repères de la carte vidéo depuis Tom's Hardware Guide de façon religieuse au début des années 2000, vous pouvez voir cela parfois – en exécutant, par exemple, Quake 3 en utilisant une carte vidéo "moderne" et vous obtiendrez tellement de graphiques à barres qui ont été simplifiés.
Si vous pouvez mesurer la fréquence d'images de votre jeu, essayez et voyez ce qui se passe.
Comme la réduction de la résolution de l'écran et / ou des options de détails de texture est à peu près garantie pour améliorer les performances de n'importe quel jeu, cela ne peut pas être utilisé pour déterminer s'il est lié par le GPU ou non. Vous pouvez regarder pour voir quel niveau de résolution / texture le plus élevé est disponible pour votre système.
Si vous pouviez réduire les performances de votre CPU (underclocking?), Cela pourrait vous donner une indication si le jeu était lié à la CPU, mais je ne pense pas qu'il soit 100% fiable.
Il y a aussi un flou de ce qui est fait par le moteur de jeu (CPU) et ce qui est fait par le moteur de rendu (GPU). À la fin des années 1990 / début des années 200, la physique des jeux était utilisée par la CPU, mais les cartes graphiques ont commencé à être en mesure d'effectuer ces calculs sur un matériel dédié, ce qui les accélère et améliore les performances. Cela signifie que le fait de voir combien d'objets se déplacent sur l'écran (par exemple) ne peut pas être utilisé comme un guide de la puissance d'une CPU que vous avez, car beaucoup du mouvement pourrait être contrôlé par le moteur de physique basé sur GPU.
Une chose à garder à l'esprit est que, en raison de la large gamme de matériel que les jeux PC doivent exécuter sur les développeurs de jeux seront à l'affût de tous les trucs qui peuvent améliorer les performances et aussi le jeu (nous l'espérons) se dégrader de manière à ce qu'il soit Jouable sur les machines de bas de gamme. Cela signifie que si vous disposez du matériel disponible, il sera utilisé, sinon au maximum, puis très proche.
D'un point de vue purement observatoire (ne vérifie pas d'autres applications, etc.) Je crois que si vous êtes connecté au CPU, vous constaterez qu'il y a beaucoup plus de bégai de trame que le GPU attend sur la CPU, où, comme si vous apparteniez à un GPU, Être une expérience plus cohérente, bien que lente et lâche.
Cela pourrait tous être héroïque.
Si vous êtes à la recherche d'une estimation de balle "rapide et sale", voici deux tests que vous pouvez exécuter:
Ce qu'ils veulent dire:
Si tout cela est fait et que vous ne voyez pas l'amélioration de la performance, il est probablement sûr de dire que vous êtes lié au CPU. Corrections possibles:
Si cette quantité de test GPU est encore trop étendue pour vous, vous pouvez choisir les plus simples modifications (réduisant la résolution) et espérons que cela vous indique quelque chose, mais vos résultats seront évidemment moins concluants, car cela ne révélera pas les goulets d'étranglement À certaines étapes du pipeline GPU.
Si vous êtes lié à un GPU, pour isoler davantage les goulets d'étranglement du côté GPU, vous voudrez effectuer ces tests un à la fois, en commençant par le bas (fin de la pipeline) et en faisant progresser votre chemin (framebuffer -> texture – > Fragment d'ombrage -> traitement de vertex -> transfert de sommet).
REMARQUE: cela suppose évidemment que vous avez accès à des paramètres qui vous permettent de faire ces modifications, ou que vous êtes un développeur et c'est un jeu pour lequel vous avez accès au code source.
Vous pouvez ouvrir le Gestionnaire des tâches de Windows (celui que vous pouvez faire passer par Contrôle + Alt + Supprimer), puis le minimiser et jouer votre jeu pour un peu. Ensuite, quittez votre jeu et regardez l'utilisation de la CPU dans l'onglet performance (vous pouvez redimensionner le moniteur pour en savoir plus sur la tendance). Vérifiez si l'utilisation de votre CPU semble rester autour de 100% ou beaucoup moins.
Je sais qu'il existe d'autres utilitaires qui vous permettent de visualiser l'utilisation du processeur, ainsi que l'utilisation de RAM et les IO de disque que vous pourriez essayer. Je ne sais pas s'il y en a un pour surveiller la performance de la carte graphique.
Il y a quelques années, je le dirais définitivement en jouant avec la résolution: si la performance varie en relation directe avec la résolution, elle est liée au GPU, sinon c'est CPU, mais c'est une histoire différente maintenant, car les shaders sont en jeu. Certains des effets de shader ne peuvent être simplement atténués en abaissant la résolution, ils saisissent simplement la même quantité de ressources, peu importe le cas.
Certaines options graphiques concernent uniquement la CPU, certaines seulement le GPU, et un mélange des deux (les effets de fumée sont un exemple commun).
L'abaissement de la résolution est toujours une règle, mais ça ne fonctionne pas aussi bien qu'avant.
Mais si j'avais l'argent, j'investirais sur un meilleur GPU qu'un CPU plus rapide, car il y a des extras que vous n'obtiendrez jamais sans plus de puissance GPU, comme Anti-Aliasing et Anisotropic Filtering.