4 votes

Un décalage insensé dans Minecraft

Je fais tourner Minecraft sur la machine suivante : Windows 8 x64, 8 Go de RAM (4 alloués pour Minecraft), i5-2500K @ 4.5Ghz, AMD Radeon R9 290.

J'ai environ 70 mods, dont Buildcraft, Thermal Expansion et d'autres mods technologiques courants. Je n'ai pas eu ce problème dans les versions précédentes de Minecraft. Pour ce qui est de Forge, j'utilise la version 1226 (l'un des derniers builds).

Maintenant, lorsque je joue indépendamment de la carte et avec ou sans mods, le jeu fonctionne de manière très inégale. J'obtiens un framerate moyen de 30 avec les mods et ~60 sans les mods. Bien que j'aie au moins 30 FPS, le jeu bégaie. Ceci est causé par des pics de lag aléatoires qui se produisent tous les 1-10 ticks. Voici une capture d'écran de mon lag-o-mètre et du profiler : My machine

Comme vous pouvez le voir, il y a beaucoup de pics irréguliers et des temps de ticks très élevés. De plus, dans la vue Debug, je reçois de temps en temps un message indiquant que quelque chose prend trop de temps et que "root" ou "root.tick" ou "root.render" ou d'autres ont pris environ 110 ms.

Par curiosité, j'ai testé la même chose sur une machine configurée exactement de la même manière, mais fonctionnant avec un Intel Celeron (2 cœurs) à 3,2 GHz et une Nvidia Geforce GTX 560 Ti.

Le jeu fonctionne parfaitement bien avec tous les mods. Les ticks sont courts et égaux et j'obtiens une moyenne de 60 FPS avec les mods et la plus grande distance de vue. Voici un aperçu du même monde, mais sur l'autre machine : Testing machine

Vous voyez clairement la différence et le profileur montre que le ratio entre Tick et Rendering est exactement l'opposé du mien ici.

Quelqu'un sait-il pourquoi il en est ainsi ? Je ne comprends vraiment pas. J'ai tout essayé. Les différents paramètres Java suggérés par les gens sur le web, j'ai essayé Java 8, j'ai essayé différentes versions de Java, j'ai joué avec la RAM allouée mais rien n'a aidé... Le jeu n'est pas fluide et jouer est horrible.

J'ai récemment eu un problème de décalage aléatoire des menus et de glitchs audio (CPU gelé) dans Thief. Depuis ce temps, je suis descendu avec l'horloge, bien que beaucoup de burn-ins intense a dit qu'il serait stable. Maintenant, ces glitches ne sont plus apparus, mais je ne peux pas croire que Minecraft stresse le CPU au point de le rendre instable... En outre, j'ai essayé Terasology (paramètres graphiques maximum) lorsque l'horloge était encore plus élevée. Il a fonctionné avec un 60 FPS lisse et sans problèmes. Je l'ai réessayé quelques jours plus tard et ça a traîné de la même manière que Minecraft, juste que Terasology s'est écrasé tôt ou tard avec une exception "somewhat Delay". Je suppose que c'est le même problème - des tics instables.

Tous les autres jeux fonctionnent parfaitement, sans aucun problème. On dirait que ça ne concerne que les jeux Java...

4voto

aytimothy Points 15721

Les pics de retard sont dus à trois causes possibles :

N'oubliez pas qu'il existe plusieurs façons de résoudre ces problèmes et plusieurs causes possibles.

  • Trop de paquets !
    Minecraft ne peut gérer qu'un certain nombre de mises à jour de chunk dans un seul cadre ; tique. Parce qu'il ne peut pas terminer toutes les mises à jour dans ce seul 1/20 de seconde, il gèle le monde jusqu'à ce qu'il soit en mesure de terminer le traitement pour ce tick.

Vous pouvez améliorer la quantité de travail qu'il peut faire en obtenant un meilleur CPU ; processeur (ou en donnant à Minecraft plus de priorité sur d'autres tâches). La RAM vous permet seulement d'avoir une plus grande charge de travail, mais pas de passer à travers cette charge de travail plus rapidement.

Comme le serveur et le client (si vous jouez en solo) sont tous deux liés, votre jeu se bloque lorsqu'il ne peut pas terminer tout le travail (mise à jour des données ; le monde OU le rendu du monde*) dans le laps de temps d'un tick (1/20 de seconde).

* Note : Plus de 20FPS signifie que plus d'une image est créée en une seule fois.

  • Attends. Je suis toujours en train d'écrire...
    Lorsque vous avez un monde Minecraft, le jeu sauvegarde constamment le monde sur le disque (à moins que vous n'ayez augmenté l'intervalle auquel il le fait) toutes les 3 secondes. Cependant, si le serveur est incapable d'écrire sur le disque, il gèle le serveur pour s'assurer que l'état des données qui doit être sauvegardé ne soit pas modifié. S'il peut le sauvegarder en une seule fois, bien sûr, tout continuera comme d'habitude.

La seule façon d'éviter ce problème est d'arrêter tous les processus/tâches/programmes qui monopolisent les capacités d'E/S en arrière-plan et qui lisent le disque, ou d'acquérir un meilleur disque dur.
(par exemple, la mise à jour à la volée de fichiers, le copier-coller de commandes, la sauvegarde de travaux scolaires/maison/travail, etc. ; tout ce qui implique la lecture et l'écriture sur un disque).

  • Codage inefficace, AKA. Bugs
    Très improbable, sinon - Non applicable ici, mais il peut y avoir un mauvais codage dans le système de gestion de l'information. jeu et les codes des mods qui lui font perdre de la mémoire ou mémoriser constamment de nouvelles choses sans effacer les valeurs redondantes.

Bien que certains grands mods soient connus pour faire cela, et la plupart d'entre eux ont déjà corrigé la plupart (sinon tous) des problèmes causant des pics d'utilisation de la mémoire. La seule façon de résoudre ce problème est de corriger le codage vous-même, si le code source est publié.


Si tout le reste échoue (sans désinstaller/modifier les mods que vous avez) :

  1. Revenir aux textures basse résolution
  2. Diminuez vos paramètres audio et vidéo
  3. Fermez TOUTES les autres tâches autres que Minecraft.

parce que c'est probablement parce que votre ordinateur ne peut pas le gérer.

Je pourrais continuer à expliquer que Java est un système émulé (un système d'exploitation virtuel à l'intérieur d'un système d'exploitation en cours d'exécution) et que les émulateurs fonctionnent plus lentement parce qu'ils doivent émuler une architecture système complètement différente de celle d'un PC ou d'un autre appareil, mais ce n'est pas le sujet.

Minecraft fonctionne sur Java, qui nécessite une machine virtuelle à émuler à l'intérieur de votre ordinateur. À cause de cela - l'émulation prend plus de mémoire et de puissance de traitement du CPU que ce dont il a habituellement besoin (si vous deviez l'exécuter sur le système d'exploitation natif).
La raison pour laquelle les autres jeux ont fonctionné est qu'ils sont natifs de Windows ; ils n'ont pas besoin de passer par 5 autres étapes avant qu'une valeur puisse être modifiée ou que quelque chose puisse être sorti.

0voto

Avez-vous récemment overclocké votre moniteur ? Si oui, remettez le taux de rafraîchissement à son état d'origine. Cela a fonctionné pour moi, donc si c'est votre cas, cela fonctionnera pour vous.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X