Wie kann ich die CPU-Affinität in Wine oder CrossOver einstellen?
5159
hpy
Es gibt einige alte Spiele, die die Multicore-Prozessoren in heutigen Computern nicht mögen. Ich frage mich, ob es eine Möglichkeit gibt, die CPU-Affinität unter Wine oder CrossOver auf '1' zu setzen? In einer nativen Windows-Umgebung würden Sie mit der rechten Maustaste auf den Prozess des Spiels im Task-Manager klicken und dort die Affinität einstellen.
Ich bin auf ein Programm namens RunFirst.exe gestoßen, kann aber nicht herausfinden, wie es ausgeführt werden soll, und dann das Spiel in einem Befehl.
Vorschläge werden geschätzt. Vielen Dank!
3 Antworten auf die Frage
2
Ye Lin Aung
Ich denke, dass es mit dem Befehl taskset möglich ist. Wein wie folgt laufen lassen:
taskset -c 0 wine program_name.exe
um debug-messages loszuwerden:
WINEDEBUG=-all taskset -c 0 wine program_name.exe
Der Teil "-c 0" legt die CPU-Affinität für Kern 1 fest, "-c 1" würde sie für Kern 2 festlegen usw. Weitere Informationen finden Sie unter "Man-Taskset".
Danke für den Tipp, habe es gerade ausprobiert, aber Mac OS X scheint nicht mit Aufgaben zu kommen. Irgendwelche anderen Ideen?
hpy vor 14 Jahren
0
1
Matt B.
Die Einstellung der Prozessoraffinität unter OS X wird nicht unterstützt. Es gibt keinen solchen Systemaufruf, den Wein machen könnte, um diese Funktionalität zu erreichen. Der dazugehörige Bug bei WineHQ ist als WONTFIX entsprechend geschlossen ( Bug 30480 - Einstellung der CPU-Affinität funktioniert nicht auf Macs ).
Während Jens 'Antwort eine mutige Anstrengung ist, verwirft Wine (oder abhängig von WINEDEBUG nicht so lautlos) diese API-Aufrufe, um die Affinität auf einem Mac festzulegen.
Die häufig genannte Problemumgehung besteht darin, eines der Entwicklungswerkzeuge von Xcode (wie Instruments) zu verwenden, um die Gesamtzahl der für das gesamte System verfügbaren aktiven Kerne zu begrenzen. Nicht hübsch, aber es funktioniert.
0
Jens Mühlenhoff
Führen Sie die im Lieferumfang von Wine enthaltene Taskmgr.exe aus, damit Sie die Affinität wie in Windows festlegen können :).
Ich weiß nicht, wie ich es dauerhaft einstellen oder automatisieren soll.
Möglicherweise ist in Wine die gleiche API vorhanden, die Windows für diese Task verwendet. Dies bedeutet, dass ein Windows-Tool für diese Task verwendet werden kann.
Bearbeiten:
Ich habe ein Werkzeug gefunden, das genau das macht:
Wine stürzt mit einer Division durch Null ab, wenn ich versuche, 'Process.exe -a notepad.exe 1' zu verwenden, während der Notizblock geöffnet ist (ab Wine 2.16; auch in Wine 1.7.7)
vitormm vor 7 Jahren
0