[Core2Duo] Activer les deux coeurs

Salut à tous,

Mon problème: Je lance un jeu et je m’aperçois en faisant CTRL-Alt-Del qu’il ne tourne que sur un seul des deux coeurs (Clic droit sur l’application, définir l’affinité, etc.) Ce qui fait qu’il faut à chaque fois faire la manip pour que les deux coeurs soient actifs.

Y a-t-il une commande à ajouter sur le raccourci de l’exe pour automatiser cette manip??

Merci d’avance !

À ma connaissance, les jeux sont encore mono-threadés et ne fonctionnent donc que sur un seul cœur physique. Tu vois une différence de performance quand tu actives les 2 cœurs ?

Voui !!!

Offline: change pas grand chose (sans doute limité par la CG?), même sur un seul coeur, çà tourne nickel.
Online: Gain de 30 à 50 FPS en moyenne. Le jeu perd beaucoup de FPS entre le mode offline et le online, le CPU est plus sollicité qu’offline, d’où le gain.

Pour info, il s’agit de GTR2 (le jeu)

Non, faut pas tirer des conclusions comme ca, tu peux pas, t’as pas assez d’infos et t’en sais rien (moi non plus en l’occurence, mais d’experience j’ai plusieurs idees, voir ci-dessous).

Les deux coeurs sont actifs, le scheduleur de win utilise toujours les deux, a mon avis une hypothese c’est qu’il s’agit plutot d’une bug de “race condition” dans le code reseau de GTR2 qui se manifeste pas quand tu forces tous les threads du jeu sur un seul core (ce qui serialize plus ou moins tout et fait le contraire de ce que tu demandes, i.e. quand tu fais SetProcessAffinity ca n’utilise qu’un seul core -le second- au lieu des deux). A vu de nez, et a confirmer ca sent le cas classique de “plus de thread/core = plus lent”, ce qui lorsque tu fais des operation reseau asynchrone ne me surprend pas outre mesure si ca a pas ete bien teste… Au passage SetProcessAffinity, ca s’utilise pas en temps normal, faut pas y toucher, ca s’utilise en priorite pour debugguer, et tester justement ce genre de problemes quand on developpe (ou si le code est pas top a contourner un probleme eventuel, comme peut etre ici).

La dernière fois que j’ai regardé un documentaire spécialisé, tu avais besoin de cable électrique, d’électrodes, d’un cerf-volant (ou d’une montgolfière) et d’un orage.

Ah et puis aussi du gel (pour la coiffure de savant fou) et une voix tonitruante pour le “He’s alive, ALIVE !!!”

Voilà, c’était le message complètement inutile de la journée, vous pouvez passer votre chemin…

Ok Glop, merci beaucoup !

Mais pour un ignorant comme moi, forcément, on pense que cocher les deux coeurs les active tous les deux. A-t-on vraiment tort de penser de manière aussi logique? héhéhé B)

Merci pour ta réponse. J’édite le titre en résolu, même si on ne peut pas dire que ce fut un réel problème.

Donc si j’ai bien compris ton explication, le fait de cocher les deux coeurs fait que tout passe sur le deuxième et que çà accélère le jeu parce que le jeu est mal fichu et n’est pas prévu pour un CPU double coeur.

Ha non j’avais pas compri que t’avais coché le deux vu que de toute facon c’est ce qui est le comportement par defaut, donc je pigeais pas ce que tu changeais dans ce menu (normalement y a toujours les deux de coché a priori). Je pensais que tu le switchait sur le second (j’avais raison de pas tirer de conclusions mais d’intuiter du coup B)). Donc si c’est le cas, c’est que le jeu lui meme a changé ses préférences au demarrage et s’est volontairement associe a un seul proc (ce qui est explicable par des problemes liés a ce que je decris plus haut qui peuvent causer freeze/crash). Si t’as jamais fait ce reglage toi meme, et donc si c’est le jeu qui l’a fait, selon la maniere dont le jeu l’a fait et quand (au setup ou a chaque lancement) tu peux peut etre essayer d’utiliser ce petit outil : la. (A priori pour les deux il faut mettre 0x3 je pense). A verifier aussi si ca marche sous XP SP2, c’est ptet un tool 2000 uniquement et j’ai pas teste. Sache que si ils l’ont fait il doit y avoir une raison cela dit… donc a tenter a tes risques et perils…

PS: Warning, IMAGECFG MODIFIE l’EXE. Fais une copie de backup de l’executable avant de la modifier avec IMAGECFG!!!
(Ha oui aussi comme c’est pas forcement evident pour qqn qui fait pas du binaire tous les jours avec des masques et tout, a priori la valeur a utiliser pour le faire marcher sur les deux core, c’est 0x3 (c’est a dire 0000 0000 0000 0000 0000 0000 0000 0011 en binaire, c’est a dire les deux derniers bits pour dire les deux proc sont a la valeur 1).

Des infos en anglais ici sur la maniere dont ca marche dans win2000/xp/et un peu win 2003, ca a evolue sous vista: http://book.itzero.com/read/microsoft/0507…06lev1sec5.html (J’aime particulierement la section “Experiment” qui permet de se rendre compte que ca fait ce que ca dit B) et que en fait… c’est plutot complexe comme systeme)

Hurraaaay !

Merci Glop ! J’essaye çà dès que possible.

Edit: bon je vois que t’as édité et ajouté « Use at your own risk ». Tout de suite, j’ai peur. En plus je pige pas grand chose à tout çà :smiley: vu que je suis une tarte (si. B) )

Donc il n’existe pas, à ta connaissance, une commande que l’on pourrait rajouter au raccourci du style « start /realtime notepad » comme montré dans la section « EXPERIMENT: Examining and Specifying Process and Thread Priorities » de la page d’infos que tu as linkée?

EDIT: ok je tenterai le truc avec les infos que tu as ajoutées en éditant. 0x0, c’est pas le coeur 1? et « 0x1 », le coeur 2?
Il me semblait avoir au moins compris çà B) .

Bon allez, je retourne travailler. Merci encore!

EDIT: Haha, Glop, ton message change en permanence. Bon, je vais laisser décanter et je reviendai voir :smiley:
Donc tout ce que j’ai dit dans l’Edit précédent est à jeter vu que çà fait référence à une phrase à toi à présent disparue.