Exe Optimizer 1.7
#1
Posté 10 février 2009 - 16:05
J'ai récemment tenté de patcher mon Morrowind avec Exe Opt (après l'avoir fait avec MCP, qui est génial soit dit en passant), mais j'ai beau faire "Patch Morrowind" mon exécutable reste 1.6.xxxx...
Aussi je vous sollicite pour savoir comment utiliser ce programme correctement (le readme ne m'aidant pas plus actuellement).
Merci d'avance à vous !
#2
Posté 10 février 2009 - 16:42
- la dernière version de exe optimizer est 1.8, pas 1.7 : http://timeslip.chor...com/exeopt.html
- cet outil ne change pas la version de Morrowind donc c'est normal qu'elle ne change pas ^^
- honnêtement, je doute que quiconque voie vraiment une différence après application de ce patch (pour info son seul but est de remplacer certaines instructions du jeu par d'autres plus rapides)
Attention : perfectionniste paresseux.
#3
Posté 10 février 2009 - 16:49
#4
Posté 10 février 2009 - 19:05
Citation
Exe optimizer permet en principe de réduire quelques cas de crash (CTD) en particulier sur les machines avec processeur Intel qui sont moins performantes pour gérer Morrowind.exe que les AMD. En fait, il a d'abord été conçu pour améliorer le FPS, mais il semble surtout avoir un effet bénéfique sur la stabilité du jeu. Sur une machine Intel le patch permet normalement de regagner quelques FPS. Dans les faits, c'est sûr que ce n'est pas facile à mesurer, mais les témoignages vont dans le bon sens, et Timeslip n'a pas vraiment l'air d'un charlatan...
Quelques topics en anglais qui appuient les dires:
http://www.bethsoft....h...=890454&hl=
http://www.bethsoft....h...=882549&hl=
On a aussi beaucoup parlé d'Exe Opt. dans les topics de MCP (Morrowind code Patch)
Pour lancer Exe Opt. il faut avoir installé Microsoft .Net v1.1.
Lors de son lancement, désactivez votre antivirus ! (comme il injecte du code dans un .exe, ça risque de faire tiquer votre antivir et de faire foirer l'opération).
Morrowind Code Patch diminue lui aussi les risques de crash.
Rappel: si vous jouez avec MGE, n'oubliez pas que MGE ne supporte pas les ALT-TAB en mod plein écran. C'est le crash assuré, et pour l'instant c'est sans solution. Jouer en mode fenêtre = grosse perte de vitesse.
#5
Posté 10 février 2009 - 22:03
Je suis en train d'appliquer le exe opt 1.8 (antivirus éteint, conformément à tes conseils), je verrai comment la stabilité se porte.
Pour MGE, je compte ne l'utiliser qu'avec mon prochain ordi, l'actuel étant sûr de très mal encaisser la bête.
#6
Posté 12 février 2009 - 15:43
Au contraire, il peut optimiser les performances sur un matériel qui date un peu...
Orthopuriste
-----
Vieux Grincheux Morrowindien
-----
Fervent Partisan de l'Immuabilité Avatarienne
#7
Posté 12 février 2009 - 16:55
Voller Verrückt, le 12.02.2009 à 15:42, dit :
Au contraire, il peut optimiser les performances sur un matériel qui date un peu...
Attention : perfectionniste paresseux.
#8
Posté 12 février 2009 - 19:41
en tous cas de façon plus stable...
Je crois qu'il optimise l'utilisation de DirectX par le moteur de Morrowind, mais là aussi ça demande confirmation.
Après, l'ayant toujours utilisé en parallèle avec FPSOptimizer, mes mesures peuvent en être faussées !
Modifié par Voller Verrückt, 12 février 2009 - 19:42.
Orthopuriste
-----
Vieux Grincheux Morrowindien
-----
Fervent Partisan de l'Immuabilité Avatarienne
#9
Posté 20 juillet 2009 - 22:10
D'aprés ce que j'ai pu comprendre, exe optimizer "décompile" l'exe de Morrowind, arrange les parties de codes foireuses pour les remplacer par du bon avant de tout refermer et recompiler avant que bethseda se fâche (en gros...)
d'où la question :
"croyez vous qu'il soit possible de modifier l'exe pour que désormais il accepte qu'on puisse ranger nos textures dans des sous dossiers ?"
Au passage, j'ai un doute : est ce l'exe qui gère ça, ou bien est ce dans les spécifications techniques des *.nif employées par Morrowind ?
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#10
Posté 20 juillet 2009 - 22:12
Et effectivement, il est tout à fait possible d'utiliser des textures dans des sous-répertoires en le spécifiant dans les fichiers nif qui les utilisent. Pas mal de mods fonctionnent comme ça.
Attention : perfectionniste paresseux.
#11
Posté 20 juillet 2009 - 22:22
Je ne sais pas pourquoi, je suis resté avec l'idée qu'on ne pouvais pas faire de sous dossier textures, pourtant Gondoliers fonctionne comme cela, je dois vieillir, c'est l'explication.
Merci Kafou.
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#12
Posté 20 juillet 2009 - 23:03
Emma Indoril, le 20.07.2009 à 23:21, dit :
Je ne sais pas pourquoi, je suis resté avec l'idée qu'on ne pouvais pas faire de sous dossier textures, pourtant Gondoliers fonctionne comme cela, je dois vieillir, c'est l'explication.
#13
Posté 21 juillet 2009 - 08:08
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#14
Posté 21 juillet 2009 - 17:28
Disons simplement que tout programme windows finit en LANGAGE MACHINE (les EXE ou DLL) qui est exécuté par le processeur
(les 0 et les 1)..
Pour faciliter la lecture par l'homme, on regroupe les 0 et les 1 par paquets pour former un truc moins barbare : l'ASSEMBLEUR, un ensemble de petite instructions style +, -, div, etc....
Si on sait interpréter l'assembleur d'un programme (c'est du très très bas niveau, donc pas évident) on peut modifier un programme en mettant d'autres instructions.
Pour modifier le programme on peut faire ca :
- en modifiant le fichier
- en faisant comme MGE ou FPSOptimiser -> On lance le programme a modifier, on le met en pause tout de suite, et on écrit les modifications à la volée "dans la mémoire" du programme..
En fait mge incorpore un mécanisme qui force morrowind a utiliser une dll directx9 par le biais d'une fausse dll directx8
On peut corriger de cette manière des crash de manière très fine (sans avoir a reprogrammer le machin) et parfois optimiser (en mettant par exemple des instructions moins couteuses en temps processeur)..
Sur le site de Exe optimiser
Citation
il remplace des instructions assembleurs basiques (de catégories FPU, pour les calculs à virgule) par des instructions SSE, BEAUCOUP PLUS RAPIDES et optimisées qui sont disponibles sur des processeurs plus récents (enfin là quand même elles datent).
Il modifie le moteur graphique de morrowind
EN BREF: tout ca demande .... de sacrées connaissances...
Modifié par MagikMike, 21 juillet 2009 - 17:41.
#15
Posté 21 juillet 2009 - 22:23
En gros, Morrowind.exe cause en petit nègre au système, et Exe Optimiser joue le rôle d'un interprète qui rajoute des mots au discours du premier pour que le système y'en a comprendre ?
Mais en aucun cas, il ne "démonte" l'exe original.
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#16
Posté 21 juillet 2009 - 22:34
Exe optimizer cherche dans le code (machine) du programme des suites d'instructions (prédéfinies) qui peuvent être remplacées par d'autres instructions censées être plus rapides mais avec le même résultat. Il vérifie via quelques tests qu'elles sont bien plus rapides, et si c'est le cas il remplace (dans le code) les anciennes par les nouvelles. Le reste du programme reste totalement inchangé au bit près.
Il n'y a pas besoin de désassembler ou décompiler un programme pour pouvoir le lire, la preuve : ton processeur y arrive bien !
Attention : perfectionniste paresseux.
#17
Posté 22 juillet 2009 - 19:06
Enfin, timeslip a quand même du désassembler (== décoder le programme sous forme de code machine) pour pouvoir comprendre comme ca marche..
Ensuite ben il patche l'emplacement des commandes et il en met d'autres (l'emplacement dans le fichier est fixe, naturellement )
Ne pas confondre avec la décompilation, qui elle transforme le code machine en code source !
Exemple :
Code Binaire :010011001010101010101010101 (ok c'est abusé)
Code Assenbleur( machine)
Citation
mov $0 , %ebx
mov $BUFF , %ecx
mov $N , %edx
int $0x80
mov %eax , %edx
mov $4 , %eax
mov $1 , %ebx
mov $BUFF , %ecx
int $0x80
mov $1 , %eax
mov $0 , %ebx
int $0x80
Code source (intelligible) :
Citation
{
AtomiseForum();
ExploseServeur();
}
Euh.. Le désassemblage (et pire encore la décompilation) sont strictements interdit par la loi.
Si Bethesda ne dit rien on peut considérer que ca passe..
Comment vous croyez que je me suis aperçu que Morrowind chargeait les codecs vidéos à votre avis?
#18
Posté 22 juillet 2009 - 19:39
Je vais tenter encore une fois une analogie et vous me donnerez votre avis :
Morrowind.exe est un montage en Légo, chaque brique étant une instruction ou suite d'instruction.
Quand le processeur execute l'exe, il lit chaque brique l'une aprés l'autre (je sais que ce n'est pas ça, que certaines partie du proce font certaines choses et pas d'autres, mais je simplifie) pour savoir quoi faire.
Exe optimiser detecte les instructions pas bonnes, et les remplaces par des meilleurs, directement dans le processeur.
Mais , l'exe original (dans le dossier Morrowind) n'est absolument pas modifié et remplacé (Comme le fait par exemple le No CD...) parc qu'on a pas le droit. Exe optimiseur se contente de le lire, comme ferait le processeur, pour savoir quoi changer à quel moment.
Je me doute que mon explication n'est pas la bonne, mais bon....
Et ce que Timeslip a du faire c'est ce qu'on appelle du reverse ingenering ?
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#19
Posté 22 juillet 2009 - 19:50
Emma Indoril, le 22.07.2009 à 20:38, dit :
On a le droit de modifier l'exécutable. Ce qui est interdit dans le cas du no-cd, c'est de contourner un système de protection.
Le statut légal exact du désassemblage je sais pas, mais je n'ai pas connaissance de problèmes dûs à ça. Ne serait-ce que parce que le seul cas où son utilisation est nocive pour l'auteur du soft c'est si celui-ci a quelque chose à cacher (par exemple s'il enfreint un brevet ou une licence - quant au "trade secret", c'est une notion qui n'a aucun sens dans bien des domaines, dont l'informatique logicielle). Le problème est surtout que si on modifie un produit, son auteur n'offre plus aucune garantie de son bon fonctionnement.
Par contre, il est totalement illégal de distribuer tout ou partie d'un morrowind.exe (par exemple) modifié ou même non modifié, puisque celui-ci est la propriété de Bethesda.
Citation
Morrowind Code Patch, au contraire, a nécessité un désassemblage manuel afin de trouver les causes des bugs et de les corriger. Par contre, comme exe optimizer, il se présente sous la forme d'un patch modifiant morrowind.exe et non sous la forme d'un morrowind.exe prépatché téléchargeable (ce qui serait illégal).
Attention : perfectionniste paresseux.
#20
Posté 22 juillet 2009 - 20:57
Et je te garantit que exe optimiser et MCP on forcément nécessités un désassemblage de Morrowind.exe..
A moins que timeslip n'ai le code source de Morrowind
Sinon sur les termes :
* Le programme c'est des bits à 0 ou 1. Code machine !
* Sous un éditeur héxadécimal, les bits sont regroupés par paquets de 8 pour faire un octet. C'est plus LISIBLE.
* Le désassemblage consiste à décoder les INSTRUCTIONS ASSEMBLEUR formées par les octets. C'est ENCORE PLUS LISIBLE..
* Le processeur lit les 0 et les 1, en déduit l'instruction correspondante et l'execute.
Timeslip c'est servit d'un logiciel dit de désassemblage pour voir les INSTRUCTIONS ASSEMBLEUR...
Et c'est son cerveau qui a faire le reste : Compréhension du code, remplacement par des instructions qui vont bien voire ajout de code....
Une foit qu'il a trouvé OU modifier le fichier, QUOI modifier et PAR QUOI remplacer, il a fait un bete programme qui
"ouvre le fichier morrowind.exe"
"Controle la version de celui ci pour déterminer a quel endroit il patche"
"il patche"
Et hop.
C'est tout à fait ca le reverse engineering : Ajouter des fonctions a un programme sans avoir le source (même si ca ne se réduit pas à cela)
Perso j'ai déjà ajouté une fonction de screenshot a un jeu un peu olé olé comme cela (vous moquez pas).
Ce n'est pas un logiciel qui fait du "Reverse" mais une personne.
Le logiciel peut dé-compiler, désassembler ou déboguer. Trois choses indispensables au reverse engineering.
La décompilation c'est "passer des 0/1 au code source" ce qui est très ardu voire impossible...
Ya guère qu'en Visual Basic, java ou .net que la décompilation est possible...
Modifié par MagikMike, 22 juillet 2009 - 21:03.
#21
Posté 22 juillet 2009 - 21:40
Dans un fichier exécutable, deux instructions se suivent :
x = x + 1
y = y + 1
exe optimizer le détecte et remplace par une seule instruction vectorisée SSE :
(x,y) = (x+1,y+1)
Ca n'a rien de spécifique à Morrowind, et ça ne dépend pas de l'endroit où se trouvent ces suites d'instructions dans le fichier. Il suffit de les chercher pour ensuite les remplacer, le tout automatiquement. C'est pourquoi exe optimizer fonctionne avec (quasiment) n'importe quel exécutable Windows. Il y a peut-être quelques remplacements qui sont pensés exprès pour Morrowind, mais la plupart des modifs que fait exe optimizer sont complètement génériques.
Attention : perfectionniste paresseux.
#23
Posté 22 juillet 2009 - 23:42
Si j'en crois Kafou :
Citation
Cela signifie donc qu'on a tout à fait le droit (et la possibilité technique) de modifier l'exe pour lui rajouter des fonctions ? (Certains virus fonctionnent de cette manière, il me semble).
En revanche on a pas le droit de distribuer cet exe modifié, c'est donc pour cela que l'on passe par des biais du genre MGE, MCP, FPS et exe optimiser ?
Sinon, j'imagine que cela ferait belle lurette que des Morrowind.exe signé par Timeslip (par exemple) se baladerait dans la communauté. (ce qui nous simplifierait drôlement la vie, soit dit en passant. Mais on y viendra, vous verrez, à force de corriger les couenneries de Beth, on finira par réécrire tout le programme, d'ailleurs certains on déjà commencé !)
René Char
"Ça ne veux plus rien dire non plus, mais cela a quand même plus de sens."
#24
Posté 23 juillet 2009 - 01:48
Emma Indoril, le 23.07.2009 à 00:41, dit :
Si j'en crois Kafou :
Citation
Cela signifie donc qu'on a tout à fait le droit (et la possibilité technique) de modifier l'exe pour lui rajouter des fonctions ? (Certains virus fonctionnent de cette manière, il me semble).
En revanche on a pas le droit de distribuer cet exe modifié, c'est donc pour cela que l'on passe par des biais du genre MGE, MCP, FPS et exe optimiser ?
Sinon, j'imagine que cela ferait belle lurette que des Morrowind.exe signé par Timeslip (par exemple) se baladerait dans la communauté. (ce qui nous simplifierait drôlement la vie, soit dit en passant. Mais on y viendra, vous verrez, à force de corriger les couenneries de Beth, on finira par réécrire tout le programme, d'ailleurs certains on déjà commencé !)
Certains réinventent bien la roue !
Sinon, aspect légal ou pas...
On a le droit de modifier exécutable? Dans l'absolu NON, pas un seul octet !
C'est une sacrée controverse. Disons qu'une tolérance s'applique du moment que l'on viole pas la propriété intellectuelle, surtout a des fins d'étude et interopérabilité..
C'est ainsi que le logiciel DeCSS, premier au monde a permettre de décrypter les dvd vidéos sur le disque dur est légal en europe.
L'argument "comme ca je peut regarder mes dvd sous linux" joue
Ou encore, c'est grâce à cette tolérance que aujourd'hui plein de personnes bidouillent et traduisent les logiciels dans leur langue maternelle..
Par exemple, il est interdit de retirer la protection d'un logiciel ou de faire un no-cd. Autre chose si je décide de donner a mon logiciel de compression la possibilité de faire des archives RAR, je l'ai pas le droit d'analyser le fonctionnement de Winrar pour le reproduire.
Ce qui est paradoxal, c'est qu'il n'est pas interdit de posséder un cr*ck, mais en revanche son utilisation est elle forcément punie..
Ici, on est dans le domaine "l'éditeur du logiciel ne voit aucun problème, donc on y va"..
Ca serait fort de café remarque, vu que l'on corrige leurs bugs. Mais ils seraient parfaitement en droit de se plaindre..
Et puis :
* MGE et FPS optimiser ne modifient pas morrowind.exe
* exe optimiser et MCP, si !
Oula , heureusement que j'ai RTT demain... vous avez vu l'heure?
#25
Posté 26 février 2010 - 18:33
Actuellement j'utilise la 1.6
Merci
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)