Aide - Recherche - Membres - Calendrier
Version complète : [FC2][MP & SP] CPU Affinity et priorité haute
3rd-Wing · Escadre virtuelle DCS > DCS (& LockOn) > Modules, bugs, updates, questions techniques
Blu3dr4g0n
Bonjour à tous,

Je me suis aperçu que nous n'avions pas encore de "DCSMax" pour régler l'affinité des coeurs pour le programme LockOn.

Pour pallier à ceci, Modifiez le Multiplayer.Bat à la racine du répertoire de Lockon, et écrivez ceci à l'intérieur :

Multiplayer

CODE
@start /HIGH /affinity 0x0003 bin\x86\stable\simulator.exe --net gui


Pour en savoir plus sur le masque d'affinié à appliquer suivant votre systeme (2, 4, 6, 8 coeurs) rendez à cette page :

http://msdn.microsoft.com/fr-fr/library/ms187104.aspx

Rubrique "Example" avec les valeurs à appliquer suivant la répartition sur les coeurs.

Pour ceux qui voudraient connaitre les options de lancement du simulator.exe, les voici :

Image IPB


Singleplayer

Créez un fichier SinglePlayer.bat au même endroit que le fichier Multiplayer.bat
Ecrivez la commande suivante :

CODE
@start /HIGH /affinity 0x0003 bin\x86\stable\launcher.exe --console


Pour ceux qui voudrait connaitre les options de lancement du simulatir.exe, les voici :
CODE

    available options:
    --help                  Displays help screen
    --console               Hides console window
    --debug                 Launches debug version of simulator
    --exename filename      Sets exe-filename to launch instead of default



Le launcher est un programme intermédiaire qui permet de lancer le moteur de jeu "simulator.exe" avec le bon fichier de mission (entre autre). Ce qui est bien, c'est que le simulator hérite correctement du CPU Affinity.

Voilou ! bon vol !
Postal2
La question c'est vois-tu réellement le gain ? en terme de perfs avec les afinités ?? .
Blu3dr4g0n
CITATION(Postal2 @ 24 Apr 2010, 21:48) *

La question c'est vois-tu réellement le gain ? en terme de perfs avec les afinités ?? .


Honnêtement, c'est pas flagrant, mais ça me permet d'avoir moins de saccade près du sol. Je n'ai pas fait de test "mesuré" pour voir si ça a un réel impact sur les FPS. Un post à titre d'infos en somme smile.gif

Ah vi, également, le fichier Config\Autoexec.cfg permet normalement de faire exactement la même chose (voir le fichier), mais après vérification ça ne marchait pas chez moi, d'où ce post smile.gif.
Lynx
Déjà, merci.

Pourrais-tu nous donner ta config et ton OS, celà éclaicissait peut-être les déboires de certains...

Ensuite pour faire des mesures Katze a sorti il y a peu un FPS Checker qui me semblerait adapté, à toi de voir... crash.gif
Blu3dr4g0n
CITATION(Lynx @ 24 Apr 2010, 23:43) *

Déjà, merci.

Pourrais-tu nous donner ta config et ton OS, celà éclaicissait peut-être les déboires de certains...

Ensuite pour faire des mesures Katze a sorti il y a peu un FPS Checker qui me semblerait adapté, à toi de voir... crash.gif


Pour que les tests soient "representatifq", il me faudrait un track de type "stress test". Quelqu'un en connait un pour FC2 ? Pour BlackShark ,il y avait celui là : http://www.megaupload.com/?d=VRED889L et celui-là http://www.megaupload.com/?d=3RDK4NKQ.

(http://forums.eagle.ru/showthread.php?t=34194&page=6)
Muse
salut à tous,

mon premier post ici.

Je n'arrive pas à configurer l'affinité sur les 4 coeurs

Quand je regarde l'historique d'utilisation des processeurs, au plus, j'arrive à ce que FC2 tourne sur 2 processeurs.

quel valeur mettre pour faire en sorte que les 4 coeurs se partage le travail.

nota : Quand FC2 tourne sur 2 coeurs il y à moins de saccade lorsque je suis près du sol, donc si je pouvais en mettre 2 de plus je pense que les saccades disparaitraient.

merci d'avance,

Muse
Lynx
Au risque de me répéter les filles, si vous ne citez pas vos configs et autres OS (XP,Vista ou 7 ???, 32 ou 64 Bits...???), vos posts bien qu'étant suggestifs en diable perdent fortement de leur interêt... crash.gif

Dragon, tu peux aussi faire un vol "stressant", en enregistrant le track et le rejouer sous divers réglages... wink.gif
patth100
Salut la 3rd... et les autres. bon c'est mon premier post sur ce forum (petite présentation rapide : je suis beau grand fort et intelligent whistling.gif ) l'optimisation de l'emploi du proc sous fc2 m'interresse également. c'est quand même dommage d'avoir 4 coeurs et de n'en utiliser que 2 surtout lorsqu'il s'agit, arrêtez-moi si je me trompe, d'un simu qui à l'instar de lock on fait la part belle au proc. Dans l'espoir de voir les plus aguerris d'entre vous nous concocter un chti soft pour optimiser tout ça, qu'ils sachent qu'ils ont déjà gagné toute ma considération notworthy.gif
DArt
Messieurs, juste un petit rappel: utiliser plusieurs coeurs nécessite un logiciel qui a été fait pour cela, on ne peut pas exécuter du code qui a été fait pour 1 ou 2 coeurs sur 3 ou 4 coeurs... Ce n'est pas parce que un chirurgien vous greffe un second cerveau en parallèle du premier que l'humain ira 2 fois plus vite et sera moins bête, c'est pas fait pour gap.gif

Donc en résumé, si FC2/BCS n'utilise que 2 coeurs, c'est qu'il a été fait pour cela, mais il ne pourra pas tourner sur plus...

C'est tout le problème du marketing multi-coeurs actuel, le hardwace est très en avance, les logiciels utilisant le multi-coeur sont très rares, car c'est assez compliqués à optimiser. Pour l'avoir fait souvent, on va des fois bien plus vite avec 1 ou 2 coeurs qu'avec 4, tout simplement car plus vous avez de coeurs, plus le système doit synchroniser l'ensemble. Pour exemple, un décodage d'image sur 4 coeurs, il faut 1 coeurs dédié à la synchro (découpage de l'image, répartition, assemblage, gestion mémoire)...

Donc, oui, vous avez des quad-core, et ils ne servent pas à grand chose dans FC2, mais c'est normal... Sachez tout de même, que les 2 coeurs inutiles, font tourner l'OS, le TS, d'autres drivers, anti-virus et j'en passe, ils ne sont donc pas inutilisés complètement, cela permet aux 2 coeurs dédiés à FC2 de ne faire que ça.

C'est d'ailleurs pour cela, que régler l'affinité, permet de gagner un peu de perfs wink.gif
Blu3dr4g0n
CITATION(Muse @ 25 Apr 2010, 15:41) *

quel valeur mettre pour faire en sorte que les 4 coeurs se partage le travail.


Salut Muse,

Bien que je serais "presque" d'accord avec Dart (presque = à tester), la valeur à positionner dans le Config\Autoexec.cfg est 15 (attention, en décimal, ce qui correspond à un masque d'affinté binaire de 00001111, soit les quatres coeurs, en hexa ça donne 0x000F)

Pour régler l'affinité (à confirmer par un test) :

SinglePlayer

CODE
@start /HIGH /affinity 0x000F bin\x86\stable\launcher.exe --console


MultiPlayer

CODE
@start /HIGH /affinity 0x000F bin\x86\stable\simulator.exe --net gui


Pour voir vos FPS dans le jeu, faites CTRL+Pause (le bouton en haut à droite du clavier).

Comme l'indiquais Dart et Lynx, ces paramètres restent suggestifs tant qu'ils n'auront pas été testés. Le protocole de test que je propose c'est la création d'un track de "stress-test" (donc chargé en munition, tank, avions, et dogfights) qui permettra d'avoir une référence, peut importe la config.

De la en utilisant le programme de KATZE (http://www.3rd-wing.net/index.php?showtopic=8271&hl=FPS+Check) on pourra avoir des informations utiles...

Qui veux bien faire le track de stress test ? pour ma part, je suis pas très bon dans ces choses là smile.gif un volontaire svp ?
patth100
merci pour cette réponse DArt. alors qu'en est il de cette nouvelle carte mère qui soit disant permet d'utiliser le multi coeur meme lorsque les applications n'ont pas été développées pour. sur le papier ça a l'air très interressant. quelqu'un a t il des infos plus objectives ?
DArt
Certaines opérations peuvent être parallélisés sans que le programme l'ai prévu (accès disque dur, routine qui tourne en arrière plan, calcul en arrière-plan, ou autre). Cela décharge le processeur dédié de l'application, mais sauf cas particulier, ce n'est pas du 1 pour 1, tu ne gagnera jamais 50% de charge, parce que le tout restera en relation direct avec le programme principal qui tourne sur son coeur.

Donc, oui tu gagnera un peu, mais pas des masses.

Depuis 20 ans, les fréquences des processeurs augmentent (la vitesse double tous les 18 mois, loi de Moore) mais ces derniers temsp, les fondeurs arrivent au max, ils ont donc changés de stratégie en amenant le concept du multi-coeurs (concept qui existe depuis très longtemps pour le monde unix/linux d'ailleurs). Ils promettent monts et merveilles, mais tant que le soft ne le gérera pas, le gain ne sera pas extraordinaire. On y gagne sur le multi-taches, firefox + mailer + jeu + antivirus + ... tournent mieux car la charge est répartie, mais globalement le gain est loin d'être parfait.

Heureusement, les choses changent, Seven le gère désormais nativement, les jeux récents utilisent plusieurs coeurs, et les logiciels gourmand (edition image/vidéos) s'y sont mis. Mais il reste encore pas mal de taf avant une vrai évolution.

Alors, pour résumer, oui tu gagnera un peu, mais le gain ne sera pas énorme.

Plus d'infos: http://fr.wikipedia.org/wiki/Microprocesseur_multi-c%C5%93ur
patth100
dans quelques rares cas, je peux me retrouver à 20 fps au décollage malgré un jeu très fluide en toute circonstances et avec toutes options à fond. je crois que je vais plutôt m'orienter sur l'overclock de mon proc pour pallier ce petit désagrément.
Blu3dr4g0n
Yup, Yup,

Pour recroiser avec ces infos, et seulement pour les quad-core, modifiez l'affinité pour utiliser les coeurs 3 et 4 (soit un mask binaire de 1100) car le premier coeur est généralement utilisé pour les processus système.

Dans VMWare ESX, l'hyperviseur s'occupait lui même de répartir la charge sur les coeurs. Je ne pense pas que ce concept existe dans les OS grand public encore (peut-être avec l'arrivé de la virtualisation des applis peut-être et des futurs windows sous hyperviseur), ce qui explique que l'affinité peut être utile pour les quad-core, non pas pour fait tourner le programme sur les 4 coeurs, mais uniquement sur les deux derniers coeurs qui sont généralement peu sollicité par le systeme et les applis de fond.

Un quad-coeur oui, mais travaillant intelligemment en somme smile.gif Quelqu'un peut-il tester cette théorie de la répartition sur les coeurs 3 et 4 svp ?

Patth100 => essaie de virer l'option pour le traffic civil et regarde si tes FPS s'améliorent (passe le à OFF).

Quelqu'un peut faire un track de stress test siou'plait ? blushing.gif
patth100
avec le traffic civil sur off la différence n'est pas vraiment significative. l'anti aliasing de ma carte est réglé sur 8X, je pense que c'est plutôt ça qui est à incriminer. quoi qu'il en soit, le jeux est fluide et je cherche une amélioration juste histoire d'optimiser mais pas au détriment des détails graphiques
Kerdou
En effet AA 8X ca fait beaucoup. J'ai 2 écrans et j'ai fais quelques tests plutôt simplistes:

1680*1050: AA 4X pour avoir un bon compromis mais ca pédale un peu au dessus des villes.
1920*1080: AA 2X suffisant, je n'ai pas eu l'occasion de faire de tests au dessus des villes mais je me suis laissé dire que ca pourrait même être un poil plus fluide .
Gizmo
J'ai testé 00001100 ce paramètre n'a aucune incidence les cœurs de mon I920. Aucun changement de cœurs observé.

Conf :
i920 D0 @4ghz
6 Go DDR3
2x HD 5870 1 Go
1.7 To en Raid0
26" en 1920x1200
Tout a fond sauf les eaux sur normal
Mode plein écran désactivé
Trafic activé

Pas de saccades ou juste à l'affichage des triggers.

Pour les FPS, même avec un crossfire de 5870, au dessus de 4X les perfs tombes et c'est injouable (v-sync activé).
Au dessus des grosse villes en TBA ( 50-100m) 22fps min. Au dessus de 1000 mètre 40-50fps...
pogny
le V sync ou synchronisation verticale n'apporte RIEN DU TOUT et vous fais perdre beaucoup de ressources...

le V sync force la syncro des FPS de votre appli a la syncro de votre écran...

en gros votre écran est paramétré sur une fréquence de 70hertz : vous ne pouvez donc pas dépassez 70 FPS sur votre appli avec le Vsync activé !

le vsync est a désactiver sauf si vous possédez un écran CRT avec une capacité d'affichage de 100hertz wink.gif
Maraudeur
Pas du tout d'accord Pogny detective.gif

La V-sync n'est justement intéressante qu'avec un écran TFT, et surtout lorsque tu y es connecté en DVI.

Avec cette connectique, la fréquence de ton écran est "bridée" à 60Hz sad.gif
De ce fait, si ta carte génère des mages à une fréquence plus élevée que la fréquence d'affichage de l'écran (60Hz) tu auras un effet de "déchirement" horizontal de l'image lors que mouvements rapides. En effet, l'image en buffer vidéo a changé entre le début de l'affichage et la fin, et donc l'image n'est plus "raccord".

A l'inverse, si tu utilises la V-Sync, la carte graphique calculera toujours ses images à fréquence élevée, mais ne les enverra à la mémoire de l'écran que lorsque celui-ci sera prêt à la recevoir, c'est à dire tous les 1/60e de seconde. L'affichage de 60 images par secondes est largement suffisante pour l'illusion d'un mouvement fluide, mais la synchronisation permet d'annuler les effets de "déchirement" d'image, et donc d'avoir un affichage plus stable.

La V-sync a pour rôle principal de synchroniser l'envoi de l'image à l'écran avec sa fréquence de rafraichissement, et non pas de brider la puissance de calcul de la carte. wink.gif
Gizmo
Pas d'accord ! tongue.gif

Sans V-sync l'écran qui se split verticalement en bandes lorsque tu tournes la tête (droite-gauche) avec le Track-ir (très visible sur l'arceau avant du par brise).

Ça peut ne pas déranger, moi je préfère avec V-sync. Après c'est peut être une question de version de track-ir, je suis en V4 avec un gestionnaire de profiles à jour.

Je te fait une petite vidéo ce soir mon petit pogny pogny run run joystick.gif


EDIT Oups le chef ma grillé...

Il explique bien notre vétéran ! wub.gif

Comment expliquer que sans track-ir avec les touche de vue, on ne rencontre pas ce problème... blink.gif
pogny
en tout cas a part avoir des yeux et un cerveau bionique les 30FPS suffisent pour créer la fluidité !

perso je n'utilise jamais le Vsync et tout se passe bien !
Gizmo
réponse en image ce soir...

Tu te sous estime Pogny Austine, l'homme qui valait 87.616.509,38 Roubles... laugh.gif

Image IPB
pogny
et puis 30 ou 60 fps je m'en fou le fox 2 il me vient dessus toujours a la même vitesse...lui tongue.gif
Gizmo
CITATION(pogny @ 29 Apr 2010, 15:23) *

et puis 30 ou 60 fps je m'en fou le fox 2 il me vient dessus toujours a la même vitesse...lui tongue.gif


/Mode Maraudeur On

" C'est pas faux" laugh.gif
bob737
CITATION(Earendil @ 29 Apr 2010, 14:49) *

Pas d'accord ! tongue.gif

Sans V-sync l'écran qui se split verticalement en bandes lorsque tu tournes la tête (droite-gauche) avec le Track-ir (très visible sur l'arceau avant du par brise).
que sans track-ir avec les touche de vue, on ne rencontre pas ce problème... blink.gif



Chez moi, j'ai un déchirement horizontale de l'image et pas vertical lorsque je tourne la tête avec le TIR
ça viendrait de la V-sync?? Où active-t-on cette option dans le CCC d'ATI?? je ne la trouve pas.

Merci.

wink.gif
polarbear
CITATION(bob737 @ 29 Apr 2010, 16:13) *

CITATION(Earendil @ 29 Apr 2010, 14:49) *

Pas d'accord ! tongue.gif

Sans V-sync l'écran qui se split verticalement en bandes lorsque tu tournes la tête (droite-gauche) avec le Track-ir (très visible sur l'arceau avant du par brise).
que sans track-ir avec les touche de vue, on ne rencontre pas ce problème... blink.gif



Chez moi, j'ai un déchirement horizontale de l'image et pas vertical lorsque je tourne la tête avec le TIR
ça viendrait de la V-sync?? Où active-t-on cette option dans le CCC d'ATI?? je ne la trouve pas.

Merci.

wink.gif

Le déchirement est bien horizontal...
Dans les options avancées du CCC tu dois avoir un truc genre wait for vertical refresh (de mémoire) à positionner sur always
Et donc dans Lo2 il faut que tu soit en mode fenetré sinon ca ne marche pas thumbsup.gif
Gizmo
CITATION(bob737 @ 29 Apr 2010, 16:13) *

CITATION(Earendil @ 29 Apr 2010, 14:49) *

Pas d'accord ! tongue.gif

Sans V-sync l'écran qui se split verticalement en bandes lorsque tu tournes la tête (droite-gauche) avec le Track-ir (très visible sur l'arceau avant du par brise).
que sans track-ir avec les touche de vue, on ne rencontre pas ce problème... blink.gif



Chez moi, j'ai un déchirement horizontale de l'image et pas vertical lorsque je tourne la tête avec le TIR
ça viendrait de la V-sync?? Où active-t-on cette option dans le CCC d'ATI?? je ne la trouve pas.

Merci.

wink.gif


Dans les options 3D clique sur l'onglet ALL, c'est un des derniers réglages. passe un cran de volet vers la droite wink.gif
bob737
En effet, j'étais en full screen. ça ne pouvait pas marcher...

Chez qui est le bug? ED ou ATI??
Lynx
CITATION(Earendil @ 29 Apr 2010, 14:49) *


Ça peut ne pas déranger, moi je préfère avec V-sync. Après c'est peut être une question de version de track-ir, je suis en V4 avec un gestionnaire de profiles à jour.



V3 Pro V-E Pareil, et T-IR 5 aussi...

CITATION(Earendil @ 29 Apr 2010, 14:49) *


Il explique bien notre vétéran ! wub.gif


Voui, on sait...

CITATION(Earendil @ 29 Apr 2010, 14:49) *

Comment expliquer que sans track-ir avec les touche de vue, on ne rencontre pas ce problème... blink.gif


Avec les mains ?


jesors.gif
C'est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.