Je n'ai pas joué à Starcraft II, mais j'ai travaillé sur de nombreux RTS en tant que programmeur réseau, et je vais essayer de vous donner une explication possible de ce qui se passe probablement. Lorsque vous concevez le code réseau d'un RTS, vous avez deux grandes options pour le faire.
La première option est de faire en sorte que chaque machine gère un sous-ensemble d'unités (celles du joueur local et peut-être un joueur contrôlé par l'IA) et d'envoyer à chaque autre machine la modification de l'état de chacune de ces unités (où sont-elles maintenant, ont-elles changé l'animation en cours, leur PV a-t-il changé, ...). Si vous procédez de cette manière, vous réduisez le travail réel de chaque machine (seulement le calcul de la modification pour certaines des unités), mais vous augmentez la bande passante utilisée (puisque vous devez envoyer toutes les modifications).
L'autre alternative est de faire en sorte que chaque machine simule le comportement de toutes les unités, et de n'envoyer entre elles que l'ordre donné par les joueurs puisque vous pouvez reconstruire toutes les modifications d'état à partir de cela. Cependant, la charge de chaque machine augmente. De nombreux jeux (Warcraft III, Starcraft, Supreme Commander, Age of Empire, ...) utilisent ce modèle car il réduit considérablement la bande passante nécessaire. On parle d'un moteur de réseau synchrone . I suspect que Startcraft II utilise aussi ce modèle.
Comment un mauvais GPU peut-il causer un lag ? Eh bien, lorsque vous avez un moteur de réseau synchrone, le pas de temps du traitement de la simulation doit être le même sur chaque machine. Ainsi, la machine la plus lente du jeu en cours est le facteur limitant. De plus, la simulation et le rendu doivent être synchronisés d'une manière ou d'une autre (le rendu dépend de la simulation, et vous ne pouvez pas dire à l'autre boîte que vous avez terminé l'image actuelle si elle n'a pas été rendue). Donc, si vous avez un GPU de mauvaise qualité, le CPU peut l'attendre avant de dire à l'autre boîte qu'elle a terminé son travail.
Cela peut s'aggraver. Comme votre CPU attend votre GPU, vous avez moins de temps que l'autre machine pour effectuer la simulation. Et comme vous devez simuler chaque unité (pas seulement la vôtre, mais celle de chaque joueur), vous avez plus de travail à faire en moins de temps au fur et à mesure que le jeu avance (car il y a probablement de plus en plus d'unités construites par chaque joueur).
En fait, dans les STR modernes, si vous faites une partie avec huit joueurs et que sept d'entre eux ont une machine très puissante et une connexion Internet rapide, mais que le dernier a une vieille machine, alors la partie sera nulle pour tout le monde.
1 votes
C'est absolument le bon endroit pour venir. Bienvenue dans le monde du jeu.
0 votes
Les réseaux universitaires ont beaucoup de gigue et la bande passante disponible n'est pas toujours constante en raison d'un trafic intense, ce qui pourrait être la cause de ce problème.
0 votes
Réduire la résolution est utile si votre carte graphique n'est pas très performante, mais seulement jusqu'à un certain point, car certaines fonctions dépendent principalement de la puissance du processeur. Donc, commencez avec les paramètres minimums, si cela vous semble jouable, augmentez les paramètres petit à petit et voyez où ça casse.