Doom 3 Améliorer l'expérience Pt2
[[Améliorer l'expérience ATI]]
Il est bien connu que Doom 3 est un jeu qui fonctionne mieux avec les cartes de nVidia. Les fans d'ATI sont donc frustrés et attendent avec impatience une mise à jour des pilotes ou un autre correctif. Puisque ATI n'a pas encore répondu, un moyen d'améliorer le fonctionnement de Doom 3 est d'utiliser des cartes nVidia. Doom 3 sur les cartes ATI a été publiée sur les forums de Beyond3D. Selon l'auteur, l'augmentation des performances peut faire passer le taux de rafraîchissement de 34 images par seconde en 1280×1024 à 48 images par seconde. Les changements dépendent bien sûr de chaque configuration individuelle. Une autre suggestion du forum est que le correctif est vraiment efficace si la fonction vsync est activée. N'hésitez pas à faire part de votre expérience de la correction sur le forum Forums MegaGames.
Le correctif consiste à modifier un certain code qui se trouve dans le fichier Doom 3 pak000.pk4 fichier. Pour ceux qui ne sont pas intéressés par l'aspect technique de la correction, un fichier déjà modifié est disponible en suivant le lien suivant télécharger ci-dessus. Extraire de façon à ce que le fichier shader soit placé sous doom3baseglprogs. Ceci remplace une lecture de texture dépendante par des mathématiques équivalentes, ce qui fonctionne mieux sur les cartes ATI, mais semble fonctionner plus lentement sur les cartes NV, donc n'appliquez ceci que si vous avez une carte ATI.
...cela devrait être une preuve suffisante que le matériel ATI peut faire tourner Doom3 aussi bien, sinon mieux, que nVidia, et que nous pouvons laisser tomber tous les "ATI nuls en OpenGL", "les pilotes ATI sont nuls", etc. dans la poubelle où ils devraient être.
La solution complète, à faire soi-même, est la suivante :
J'ai récupéré Doom3 aujourd'hui et commençons par dire que c'est un jeu génial jusqu'à présent. Quelques points négatifs comme le rechargement des armes (qui, selon moi, n'ajoute rien à un jeu, si ce n'est de l'agacement, donc je ne sais pas pourquoi de nombreux développeurs continuent à l'ajouter à leurs jeux), mais dans l'ensemble, c'est bien au dessus de mes attentes.
Quoi qu'il en soit, passons à la partie la plus amusante, à savoir l'exploration de la technologie.
Je pense avoir trouvé la source de la lenteur de ce jeu sur du matériel ATI par rapport à du matériel nVidia pour le moment, et avoir trouvé une solution au problème.
Tout d'abord, ouvrez votre dossier doom3base. Double-cliquez sur le fichier pak000.pk4. Dans la boîte de dialogue "window can't open this file ...bla bla", continuez et associez le fichier à une application comme WinRar. Une fois le fichier ouvert dans WinRar, allez dans le répertoire glprogs du fichier. Vous y trouverez les shaders. Le fichier interaction.vfp semble être le shader de rendu principal. Modifier ce shader pour obtenir une couleur constante transforme la plupart des objets en cette couleur constante, à l'exception des écrans d'ordinateurs, etc.
Double-cliquez donc sur le fichier interaction.vfp pour l'ouvrir (vous devrez peut-être d'abord associer l'extension .vfp à un éditeur de texte tel que notepad ou wordpad puisque nous allons modifier le fichier). Faites défiler vers le bas jusqu'au fragment shader. Vous trouverez ces lignes :
Code :
PARAM subOne = { -1, -1, -1, -1 } ;
PARAM scaleTwo = { 2, 2, 2, 2 } ;
Ajoutez ceci juste en dessous :
Code :
PARAM specExp = { 16, 0, 0, 0 } ;
Faites défiler la page jusqu'à ceci :
Code :
# effectue une lecture de la table dépendante pour la falloff spéculaire
TEX R1, spéculaire, texture[6], 2D ;
Commentez cette ligne en y ajoutant un "#", et ajoutez une autre ligne qui fera la même chose avec des mathématiques à la place, de sorte que cela devrait ressembler à ceci :
Code :
# effectue une lecture de la table dépendante pour la falloff spéculaire
# TEX R1, spéculaire, texture[6], 2D ;
POW R1, specular.x, specExp.x ;
Enregistrez le fichier et fermez votre éditeur de texte. WinRar vous demandera si vous voulez mettre à jour le fichier dans l'archive, sélectionnez oui. Fermez WinRar et profitez d'environ 40% de performances en plus dans Doom3. Je n'ai pas encore fait de tests approfondis, mais mes performances sont passées de 34fps en 1280×1024 à 48fps.
Conclusion et discussion :
Je ne veux pas me plaindre du travail de Carmack, je le considère toujours comme le leader de l'industrie des moteurs graphiques. Cependant, lorsque j'ai lu le shader, j'ai été frappé par le nombre d'accès à la texture par rapport au shader relativement court, même pour des choses qui pourraient tout aussi bien être faites avec des maths pour un faible coût en instructions. L'utilisation d'une recherche de texture dépendante pour l'évaluation de la POW a beaucoup de sens pour le matériel de niveau R200 en raison des limites du jeu d'instructions, mais pour les R300 et plus, il est préférable de passer les trois cycles nécessaires pour évaluer la POW avec des mathématiques au lieu de risquer de saccager le cache de texture avec une lecture de texture dépendante, ce qui peut être beaucoup plus coûteux, d'autant plus que le modèle d'accès dans ce cas sera loin d'être linéaire. De plus, l'utilisation des mathématiques améliore également la qualité, même si cela n'est pas très visible dans ce jeu.
Je dois cependant préciser que je ne suis pas sûr que le facteur spéculaire constant 16 que j'ai choisi soit celui que le jeu utilise, donc le résultat peut être légèrement différent, mais si cette solution est intégrée dans le jeu dans un futur patch, alors c'est facilement configurable par le jeu de sorte qu'il n'y aura pas de différence, si ce n'est une plus grande rapidité.
Une discussion intéressante pourrait être de savoir pourquoi cette recherche de texture dépendante est beaucoup plus lente sur notre matériel que sur celui de nVidia. Peut-être qu'il y a une différence architecturale à blâmer, ou peut-être quelque chose d'autre ? Le point principal ici est que cela devrait être une preuve suffisante que le matériel ATI peut faire tourner Doom3 aussi bien sinon mieux que nVidia, et que nous pouvons mettre à la poubelle tous les "ATI est nul en OpenGL", "les pilotes ATI sont nuls", etc.
[[Précédent Doom 3 Optimisations]]
Doom 3 a bouleversé la communauté des joueurs, notamment parce que la plupart d'entre eux ne disposent pas des spécifications nécessaires pour tirer le meilleur parti de leur expérience. Grâce à nos lecteurs, nous avons trouvé quelques moyens permettant à la plupart des joueurs d'améliorer leur expérience de combat contre les monstres crachant l'enfer qui en ont après leurs camarades marines.
La lumière au bout du tonneau
Alors que les joueurs du monde entier s'efforcent de calmer leurs gâchettes après l'expérience Doom 3, beaucoup se plaignent déjà de la nécessité d'avoir plus de lumière. Grâce à un peu de ruban adhésif et à beaucoup d'ingéniosité, Glen "FrenZon" Murphy a créé le Duct Tape Mod, une solution à tous nos problèmes de vision sur Mars. Un lien vers les fichiers et une brève description du mod est disponible en suivant le lien suivant télécharger ci-dessus.
Cartes bon marché Pas de jeux hachés
Une autre bonne âme a eu pitié des pauvres joueurs s'attaquant à Doom 3 avec les cartes Radeon 8500, 9000 et 9200 et a publié une Guide d'optimisation graphique, garantit la résolution des problèmes d'OpenGL de tous les possesseurs de cartes ATI bas de gamme. Un lien vers le guide est également disponible en suivant le lien suivant télécharger ci-dessus.
Enfin, un gentil lecteur de Megagames, vous savez qui vous êtes Slijkhuis, nous a envoyé un autre moyen d'obtenir une amélioration très nette des performances. Ce guide fonctionne en libérant beaucoup de ressources CPU et parvient à le faire en éliminant le besoin de décompresser les données pendant le jeu. Selon notre bienfaiteur, il y a un hic ! En utilisant ce correctif, vous ne pourrez temporairement pas vous connecter aux serveurs multijoueurs purs. Vous êtes prévenu (bien qu'il y ait un moyen de revenir en arrière).
Le guide
Après l'installation, le dossier Doom III se compose uniquement du fichier doom3.exe et de quelques fichiers .PK4. Ces fichiers PK4 contiennent tout le jeu (sons, vidéos, textures, etc.) compressé. Ils sont normalement décompressés en milieu de jeu, ce qui est très dur pour votre CPU. Nous pouvons les décompresser et ainsi soulager votre CPU.
1. Faites une copie de TOUS les fichiers dans C:Program FilesDoom 3base. C'est un gros fichier, mais si vous voulez revenir à MP sans réinstaller, vous devez le faire.
2. Décompressez les fichiers .pk4 suivants (faites comme si c'était des .rar et ouvrez-les avec winrar) dans le dossier C:Program FilesDoom 3base (chacun devrait décompresser un seul dossier comme les textures ou les modèles) :
pak000.pk4
pak001.pk4
pak002.pk4
pak003.pk4
pak004.pk4 (Ce fichier contient plusieurs fichiers, mettez-les tous dans Base et redressez ceux qui s'appliquent.
3. Maintenant, supprimez les fichiers ci-dessus (pak000-004) ou déplacez-les dans un autre dossier pour les stocker afin de pouvoir revenir au mode multijoueur.
Lorsque vous voudrez revenir au mode multijoueur, restaurez tout ce que vous aviez avant et débarrassez-vous des nouveaux éléments. Je ne sais pas si le dossier cartes est le même ou non, alors assurez-vous que vous le confirmez.
Dans le dossier original Doom3 /base (c'est à dire avant le déballage), vous auriez ces dossiers et fichiers "maps" "savegames" "config.spec" "doomConfig.cfg" "doomkey" game00.pk4" et "gamex86.dll", rien d'autre.
FAITES ÉGALEMENT CECI ! Si vous ouvrez DoomConfig.cfg (C:programfilesdoom3base) dans le bloc-notes et changez (assurez-vous de sauvegarder une copie de sauvegarde) seta image_cacheMegs "32" pour un nombre plus élevé, comme 128 ou 265 (cela dépend de la RAM, utilisez 256 pour un gig, 128 pour 512mb) vous verrez aussi une grande augmentation. Vous devez également modifier seta image_useCache à "1" et seta image_cacheMinK à environ "20480" (ou plus).
Voilà, puisque le CPU n'a pas à décompresser les textures, les sons, etc... il y a une augmentation MASSIVE des performances aux dépens de l'absence de MP et de l'augmentation de l'espace sur le disque dur.
N'hésitez pas à nous faire part de votre expérience de l'utilisation de ces correctifs et Mod dans la section Commentaires des utilisateurs.