Prozessorzugehörigkeit dauerhaft festlegen?

LangeR84

Cadet 2nd Year
Registriert
Nov. 2019
Beiträge
31
Hallo, ich grüße euch!

Ich möchte im Taskmanager-->Details-->"Zugehörigkeit festlegen" einem Programm dauerhaft alle 6 verfügbaren Prozessorkerne zuweisen. Wenn ich die Einstellung vornehme, ist sie nach 1 Minute wieder draußen und er greift wieder nur auf 4 Kerne zu. Kann mir vielleicht jemand sagen, wie ich Windows 10 dazu bekomme, dass er die Einstellung speichert?

Hintergrund ist folgender: ich versuche seit 2 Tagen "Sekiro: Shadows Die Twice" zum Laufen zu kriegen. Nun, mir wurde gesagt, dass das Spiel schwer ist, nicht aber, dass der Endgegner schon beim Starten kommt. ;) Jedenfalls scheint das Spiel Probleme mit aktueller Hardware zu haben. Scheinbar wurde es schlecht programmiert bzw. schlecht optimiert. Auf meinem System (i5 9400F, RTX 2060 Super, 16 GB Ram) habe ich starke Framedrops. Die Rate schwankt so zwischen 30-60fps. Nachdem ich das halbe Internet nach einer Lösung abgegrast habe, hat sich herausgestellt, dass es was bringt, wenn man dem Programm mehr Prozessoren zuweist. Und das funktioniert tatsächlich, allerdings eben nur eine Minute. Danach stellt der Taskmanager es wieder auf 4 Kerne zurück. Gibt es jemanden, der eine Lösung dafür hat? Dazu finde ich leider nichts mehr bzw. nur veraltete Beiträge wie diesen hier:
https://www.computerbase.de/forum/threads/anwendung-bestimmte-kerne-zuweisen.1559609/

Dort wird imagecfg.exe empfohlen, was aber wohl nicht mit Windows 10 läuft. Zumindest bekomme ich es nicht richtig hin. Vielen Dank schon mal für eventuelle Hilfe!
i5 9400F
i5 9400F
i5 9400F
i5 9400F
 
bitsum process lasso kann das.
dauerhaft für ein programm bestimmte zuweisungen festlegen.
es ist allerdings ein feature der pro-version.
https://bitsum.com/howfree/
 
  • Gefällt mir
Reaktionen: Sumsebiene, LangeR84 und tony_mont4n4
yxcvb schrieb:
https://www.gamestar.de/artikel/sekiro-shadows-die-twice-systemanforderungen,3340384.html

Eigentlich liegst du deutlich über den empfohlenen Anforderungen - empfohlen ist ein 2500k! Das läuft bei dir wohl etwas anderes schief.



Herzlichen Glückwunsch @ yxcvb

Ist ja mal so ein richtig kompetent qualifizierter Kommentar, (NICHT) erinnert mich ein wenig wie das denken von der Tapete bis zur Wand.


__



Tendenziell ist es sehr oft so das Spiele schlecht laufen aufgrund von Konsolen Ports,schlechte Programmierung, schlechte optimierung,schlechte skalierung usw usw.

Der TE hatte bereits erwähnt das eine Prozessorzuweisung von Vorteil sei.

Das ganze löst dein Problem natürlich nicht.


Ich würde gerne ein par Daten mehr haben.

Was für ein Board welcher Speicher welche Festplatte welche 2060, in welcher Auflösung spielst du, wieviele Monitore,wie angeschlossen (HDMI Display Port)Wieviel Herz, GSync/Freesync / (VRR-TV)


Was läuft nebenbei, streamst du , läuft Youtube nebenher oder anderweitige Videoportale.

Ist der Stromsparmodi eingestellt/ausgestellt/angepasst öhm wie sind die Temperaturen von Grafikkarte und CpU wenn das Spiel läuft und Frame drops bekommt, und in welchen Grafikeinstellungen spielst du.



Sry das sind par viele Fragen, aber so kann man zumindest erstmal ein par Dinge ermitteln und ausschliessen, anstatt eine feste Zuweisung der Cpu zu setzen ,denn die wird das Problem bestimmt nicht komplett beheben.

Achja


Vollbildmodus oder Fenstermodus?


Viel Spass beim antworten,bin mal gespannt ob wir das Problem ordentlich lösen können.
 
  • Gefällt mir
Reaktionen: Nilo und LangeR84
Tja, Sumsebiene, es wäre ja auch zuviel verlangt, den von mir verlinkten Artikel mal zu lesen. Denn lesen bildet. Und schon stellt man fest, dass das Spiel sehr niedrige Systemanforderungen hat. Aber warum sollte man das nachlesen und Fakten akzeptieren? Ist ja viel einfacher, andere zu beleidigen, nicht wahr?
 
Die Affinität tut NICHT das, was Du anzunehmen scheinst. Damit kann man festlegen, daß ein Prozeß auf diesen Hardwarethreads laufen soll und nur da. Man kann NICHT sagen, daß ein Prozeß mehr davon verwenden soll, nur weniger; das kann bei NUMA sinnvoll sein.

Wenn die Anwendung auf vier Threads läuft und Dein System mehr als einen NUMA Knoten hat, dann binde vier Threads an einen der Knoten oder probier einfach, vier Threads der Anwendung an vier Threads der CPU zu binden.

Dann sollte das auch halten, zumindest bis die Anwendung beendet wird.
 
  • Gefällt mir
Reaktionen: tony_mont4n4
whats4 schrieb:
bitsum process lasso kann das.
dauerhaft für ein programm bestimmte zuweisungen festlegen.
es ist allerdings ein feature der pro-version.
https://bitsum.com/howfree/
So, habs mir mal eben gekauft. ;) Danke schon mal, allerdings komme ich damit nicht so recht weiter. Vielleicht stelle ich mich auch nur zu blöd an. Hab schon mal ein wenig damit rumgespielt. Schau dir mal bitte die unten angehängten Screenshots an. Im ersten Bild siehst du, dass eigentlich immer 6 Kerne zugewiesen werden. Auf dem zweiten Bild siehst du bei "derzeitig", dass das aber nicht der Fall ist. Hmm.

Sumsebiene schrieb:
Ich würde gerne ein par Daten mehr haben.

Was für ein Board welcher Speicher welche Festplatte welche 2060, in welcher Auflösung spielst du, wieviele Monitore,wie angeschlossen (HDMI Display Port)Wieviel Herz, GSync/Freesync / (VRR-TV)


Was läuft nebenbei, streamst du , läuft Youtube nebenher oder anderweitige Videoportale.

Ist der Stromsparmodi eingestellt/ausgestellt/angepasst öhm wie sind die Temperaturen von Grafikkarte und CpU wenn das Spiel läuft und Frame drops bekommt, und in welchen Grafikeinstellungen spielst du.



Sry das sind par viele Fragen, aber so kann man zumindest erstmal ein par Dinge ermitteln und ausschliessen, anstatt eine feste Zuweisung der Cpu zu setzen ,denn die wird das Problem bestimmt nicht komplett beheben.

Achja


Vollbildmodus oder Fenstermodus?


Viel Spass beim antworten,bin mal gespannt ob wir das Problem ordentlich lösen können.
Puh, da verlangste einiges. :D Aber besten Dank für die Hilfsbereitschaft! :)

Board: Gigabyte H310M H 2.0
DIMM1: Team Group TEAMGROUP-UD4-2666
DIMM3: Team Group TEAMGROUP-UD4-2666
Festplatte: WDC WD20EZAZ-00GGJB0 (Ja, ich weiß. Nur 'ne HDD mit 5400 Umdrehungen. Hat aber nie Probleme gemacht)

RTX 2060 Super ist von Gainward, die per DP auf DVI-Adapter mit einem 60hz-Monitor verbunden ist (Eizo Flexscan S2231W), ohne den ganzen neumodernen Firlefanz. :D Monitor ist nicht so optimal, ich weiß. Da kommt bald was Neues und nein, auch der hat bislang keine Probleme gemacht. Ansonsten sind keine weiteren Monitore angeschlossen. Prozessor-Temperatur geht unter Voll-Last (alle Kerne auf 100%) auf maximal 60°C hoch, Grafikkarte etwas mehr. Alles im Rahmen bei 70-80°C. In den Treibereinstellungen ist alles auf "Maximale Performance bevorzugen", Stromsparmodus ist aus. Die Auflösung ist 1680x1050, alle Einstellungen auf maximal gedreht, wobei ich hier natürlich auch ein wenig getestet und mal alles runtergeschraubt habe. Der Effekt ist aber nahezu Null. Ich spiele, wenn man das denn so bezeichnen kann, im Vollbildmodus, allerdings habe ich es aufgrund der bekannten Probleme mal im Fenstermodus probiert. Kommt ebenfalls aufs selbe raus. Das einzige, was mir tatsächlich geholfen hat, war die Prozessorzuweisung. Im Hintergrund läuft nichts weiter. Alles sehr komisch. Selbst recht aufwendige Spiele laufen hier mit Emulator, aber ein für den PC programmiertes Spiel will meiner nicht packen. :D
yxcvb schrieb:
Tja, Sumsebiene, es wäre ja auch zuviel verlangt, den von mir verlinkten Artikel mal zu lesen. Denn lesen bildet. Und schon stellt man fest, dass das Spiel sehr niedrige Systemanforderungen hat. Aber warum sollte man das nachlesen und Fakten akzeptieren? Ist ja viel einfacher, andere zu beleidigen, nicht wahr?
Sorry, aber Sumsebiene hat Recht. Es ist hier allen klar (gerade auch mir), dass meine Hardware locker für dieses Spiel reichen sollte. Es ist eben allerdings verbuggt. Ein Workaround, um das Problem zu lösen, ist nun mal, die Prozessorzugehörigkeit auf alle Kerne festzulegen. Wenn du eine andere Lösung anzubieten hast, immer her damit! ;)
RalphS schrieb:
Die Affinität tut NICHT das, was Du anzunehmen scheinst. Damit kann man festlegen, daß ein Prozeß auf diesen Hardwarethreads laufen soll und nur da. Man kann NICHT sagen, daß ein Prozeß mehr davon verwenden soll, nur weniger; das kann bei NUMA sinnvoll sein.

Wenn die Anwendung auf vier Threads läuft und Dein System mehr als einen NUMA Knoten hat, dann binde vier Threads an einen der Knoten oder probier einfach, vier Threads der Anwendung an vier Threads der CPU zu binden.

Dann sollte das auch halten, zumindest bis die Anwendung beendet wird.
Sorry, das ist mir zu hoch. :D Ich weiß nur, dass es geholfen hat. Ich hatte kurzzeitig keine Framedrops mehr. Aber vielleicht habe ich mich auch falsch ausgedrückt: es geht mir nicht darum, mehr Leistung zu generieren, sondern um einen "Bugfix". Und der wird eben laut einiger Stimmen im Internet durch die Auswahl aller verfügbaren Kerne im Taskmanager erreicht.
 

Anhänge

  • Sekiro1.jpg
    Sekiro1.jpg
    629,3 KB · Aufrufe: 567
  • Sekiro2.jpg
    Sekiro2.jpg
    623 KB · Aufrufe: 472
Zuletzt bearbeitet:
Leider wartet mein Beitrag noch auf eine Freischaltung. Liegt wohl an den angehängten Screenshots. Da haben wohl einige in letzter Zeit zu häufig Bilder für Erwachsene gepostet. :confused_alt: Danke jedenfalls schon mal für die rege Beteiligung! :)
 
im "derzeitig" kannst quasi "onthefly" zuordnen, weggeben, aber das merkt sich process lasso nicht. gilt nur für die session. wennst das programm/spiel schließt, verschwinden die einstellungen.

die settings unter "immer" merkt es sich, wird jedesmal angewandt, wennst das programm startest.

wahrscheinlich ist das verbieten von virtuellen kernen das zielführenste vor allem bei betagten spielen, ausprobieren.
 
Moment Mal wenn der te dem Programm 6 Kerne zuweißt
Worauf soll dann Windows laufen
Weil sein Prozessor hat ja kein hypertheding
Und "nur" 6 kerne
 
  • Gefällt mir
Reaktionen: areiland
whats4 schrieb:
im "derzeitig" kannst quasi "onthefly" zuordnen, weggeben, aber das merkt sich process lasso nicht. gilt nur für die session. wennst das programm/spiel schließt, verschwinden die einstellungen.

die settings unter "immer" merkt es sich, wird jedesmal angewandt, wennst das programm startest.

wahrscheinlich ist das verbieten von virtuellen kernen das zielführenste vor allem bei betagten spielen, ausprobieren.
Und genau das macht er eben nicht. Hab zur Überprüfung auch den Windows Taskmanager laufen lassen. Dort springt er weiter fröhlich von 2 auf 4 Kerne hin und her, aber die Einstellung auf 6 Kerne nimmt er nicht an. :(

Justinh99 schrieb:
Moment Mal wenn der te dem Programm 6 Kerne zuweißt
Worauf soll dann Windows laufen
Weil sein Prozessor hat ja kein hypertheding
Und "nur" 6 kerne
Ich glaub nicht, dass Sekiro alle 6 Kerne zu 100% ausreizen wird. ;)
 
LangeR84 schrieb:
Und genau das macht er eben nicht. Hab zur Überprüfung auch den Windows Taskmanager laufen lassen. Dort springt er weiter fröhlich von 2 auf 4 Kerne hin und her, aber die Einstellung auf 6 Kerne nimmt er nicht an. :(


Ich glaub nicht, dass Sekiro alle 6 Kerne zu 100% ausreizen wird. ;)
Ich kann mir vorstellen dann wenn dass Windows bei zu hoher auslastung aller 6 festgelegten Kerne automatisch auf 4 zurück geht ,da es verhindern will ,dass es zu wenig resourchen hat
 
LangeR84 schrieb:
Und genau das macht er eben nicht. Hab zur Überprüfung auch den Windows Taskmanager laufen lassen. Dort springt er weiter fröhlich von 2 auf 4 Kerne hin und her, aber die Einstellung auf 6 Kerne nimmt er nicht an. :(

Vielleicht stellt das Spiel die Kernzahl selbst ein und überwacht sie dann auch.
Die API von Windows gibt das jedenfalls her.

Falls du das Spiel als Administrator startest, versuch es mal ohne Admin-Rechte. Ich bin mir nicht ganz sicher, aber ich meine dass Non-Admin Prozesse die Zuweisung nicht selbst ändern können.
 
DocWindows schrieb:
Vielleicht stellt das Spiel die Kernzahl selbst ein und überwacht sie dann auch.
Die API von Windows gibt das jedenfalls her.

Falls du das Spiel als Administrator startest, versuch es mal ohne Admin-Rechte. Ich bin mir nicht ganz sicher, aber ich meine dass Non-Admin Prozesse die Zuweisung nicht selbst ändern können.
Gerade mal getestet. Habs tatsächlich immer als Admin gestartet, aber bringt auch nichts, es nicht zu tun. Er springt weiter fröhlich von 2 auf 4 Kerne hin und her...
 
Wie schon erwähnt ist affinity etwas anders.
Das Problem ist die App. Wenn sie nur 2 threads erstellt werden auch nur max. 2 CPUs aktiv.
Wenn die App dann mehr threads erstellt werden auch mehr cores verwendet.
Das OS benutzt immer alle cores aber sie müssen auch etwas zu tun haben
 
cloudman schrieb:
Wie schon erwähnt ist affinity etwas anders.
Das Problem ist die App. Wenn sie nur 2 threads erstellt werden auch nur max. 2 CPUs aktiv.
Wenn die App dann mehr threads erstellt werden auch mehr cores verwendet.
Das OS benutzt immer alle cores aber sie müssen auch etwas zu tun haben
Laut meinen Recherchen solls aber wohl möglich sein, das Programm zu zwingen, alle verfügbaren Kerne gleichzeitig zu nutzen. Aber ich hab da auch keinen Plan. :D
Destyran schrieb:
das versteh ich nicht ganz tbh. hast du nun 2 riegel oder nur einen?^^
Ups, es sind 2 Riegel à 8 GB. Habs einmal aus AIDA64 rauskopiert und 2 Mal eingefügt. ;)
 
@LangeR84 ah ok, sonst hätte ich single channel sehr schnell als den übeltäter ausgemacht, da gibts bei manchen games, z.B. Battlield V, ähnliche Probleme mit solchen fps drops wenn man nur einen Riegel benutzt bzw. die Riegel falsch einbaut.
 
LangeR84 schrieb:
Er springt weiter fröhlich von 2 auf 4 Kerne hin und her...

Und wenn du das gleich beim Start der Anwendung mitgibst statt es nachträglich einzustellen?
Mit dem Kommando

Code:
start /AFFINITY [MASKE] spielename.exe

kannst du das gleich beim Programmstart setzen. Ist aber gut möglich dass es das Spiel hinterher wieder ändert.

Welchen Code du als MASKE setzen musst, musst du dir leider ausrechnen. Wie das geht steht hier
 
Am besten erstmal schlau machen, was Affinität / Affinity bezeichnet, damit wären schon mal ein ganz paar Mißverständnisse ausgeräumt.
 
Zurück
Oben