Kerne DAUERHAFT an eine Anwendung binden? Win10

Preylord

Freizeitschrauber(in)
Hi,
Ich habe ein Problem mit einem Spiel (War Thunder) die sich nach Sucherei und Hilfe hier aus dem Forum als ein Problem mit
Multiplen Cores herausgestellt hat.

CPU > i9 9900k also 8(16) Kerne , Win 10 Enterprise

Damit laggt das Spiel wie verrückt. Reduziere ich im Taskmanager das Spiel auf 4 Cores kann ich Problemlos
spielen.

Nur...jedesmal wenn die Runde endet "verfällt" auch die Zuweisung im Taskmanager.

Wie kann man das Dauerhaft lösen? Ich bin im Netz auf EasyToolz gestoßen....aber es funktioniert nicht.

Außerdem ein paar kryptische AdminBoards wo Startscripts "beschrieben" wurden die ich zugegeben
nicht gerafft habe :ugly:

Kann mir hier jemand weiterhelfen? :rollen:

Mfg
 
Lege eine Verknüpfung an mit folgendem Befehl:

c:\windows\system32\cmd.exe /c start "" /Affinity HEX "c:\spiel\spiel.exe"

Wobei HEX durch den passenden Hexwert für die Prozessoren ersetzt werden muss. Für CPU 3-0 wäre das z.B. F
Hier findest du auch eine Tabelle dazu:

https://blogs.msdn.microsoft.com/santhoshonline/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set/

Und natürlich musst du mein Beispiel: c:\spiel\spiel.exe durch den korrekten Programmpfad für dein Spiel ersetzen.

Hoffe du kommst damit klar.

 
Hi , erstmal Danke , das war in etwa das was ich gefunden habe...nur unverständlicher :ugly:

Ich habe jetzt so einen Link erstellt....es mault zwar das der Launcher nicht zum starten genutzt wurde, läßt sich aber ansonsten
danach normal starten.

Ich habe den Wert 1F gewählt, was ja laut Tabelle den ersten 4 Kernen entsprechen sollte.... bin ich aber nun im Spiel und
kontrolliere im Taskmanger die Zuweisung hat sich nichts geändert, alle Kerne angehakt...Spiel ruckelt :rollen:

Habe ich einen Fehler drin?

C:\Windows\System32\cmd.exe /c start "" /Affinity 1F "I:\Steam\steamapps\common\War Thunder\win64\aces.exe"

:ugly:

Mfg
 
Mal abgesehen davon, dass es für 4 CPU-Kerne ein "F" sein müsste "1F" sind 5 Bit, also auch die logisch ersten 5 Kerne), hast Du wohl einfach verloren. Die Applikation wird intern einen neuen Prozess starten, der sich nicht um die Affinität des Startprozesses kümmert.

Schön zu beobachten bei mir mit Handbrake und AVIDemux
Starte ich Handbrake auf 4 Kernen, interessiert dies den Encoder nicht und er nutzt weiterhin alle 16 (außer, ich setzt im Nachhinein die Affinität neu)
Starte ich dagegen AVIDemux auf 4 Kerne, denn hält er sich daran und encodet auch nur mit vier Kernen.

Damit bleibt wohl einzig, im Hintergrund ein Script laufenn zu lassen, welches zyklisch die Affinität neu setzt. So wie im Groben hier beschrieben.
batch file - Change affinity of process with windows script - Stack Overflow
 
Scheint so, Verdammtes Gajin Dev Team :wall:

Aber Danke für den Link, dort wird auch noch über ein anders "Programm" geschrieben was etwas ähnliches kann....damit versuch ichs auch nochmal :rollen:

Mfg
 
Zurück