Wie kann ich eine langsame CPU simulieren?

12

Ich bin fast fertig mit dem Codieren meines Webapp-Spiels. Es läuft auf allen modernen Browsern. Ich möchte jedoch einige Mindestanforderungen dafür festlegen.

Daher brauche ich einen langsamen Mac. Ich habe jedoch keinen Zugriff auf einen langsamen Mac mit einem modernen Browser (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

Mit dem in dieser Frage genannten Tool kann ich eine langsame Internetverbindung simulieren. Ich kann leicht viel Speicher verbrauchen. Ich habe jedoch keine Ahnung, wie man eine langsame CPU simuliert, ohne auf Übertaktung zurückzugreifen.

Gibt es eine Möglichkeit, die CPU meines Mac vorübergehend langsamer zu machen, ohne zu untertakten?

JavaAndCSharp
quelle
Husten Windows installieren? : P
Russell

Antworten:

7

Eine Lösung besteht darin, mithilfe der Virtualisierung eine andere Instanz von Mac OS X auf Ihrem Computer auszuführen. In vielen Virtualisierungsanwendungen (z. B. Parallels Desktop ) können Sie entscheiden, wie viele Ressourcen eine Instanz haben kann (z. B. Speicher oder CPU). Lion hat die Unterstützung für die Virtualisierung von Mac OS X erhöht.

Wenn Sie sich für Parallels entscheiden, finden Sie einen nützlichen Artikel zum Einrichten einer Instanz eines anderen Mac OS X Lion.

Sinnvoll
quelle
Schlagen Sie
Dies scheint sowohl die Lieblingsantwort der Community als auch meine Lieblingsantwort zu sein. Grüner Scheck für Sie!
JavaAndCSharp
1
In Parallels scheint es, dass Sie nur die Anzahl der CPU-Kerne begrenzen können, aber nicht die Taktrate.
Timo
Scheint, als könnten Sie die CPU mit CPUThrottle drosseln. Willnolan.com/cputhrottle/cputhrottle.html
Timo
6

Eine gute Möglichkeit ist die Verwendung des Befehlszeilenprogramms cputhrottle, mit dem Sie festlegen können, wie viel CPU ein bestimmter Prozess verwenden darf.

Installieren Sie es mit (zum Beispiel) Brew: brew install cputhrottle

Wählen Sie dann aus, wie viel Prozessorprozentsatz der Prozess für Ihren Browser (und / oder den Inhaltsprozess Ihres Browser-Tabs) verwenden kann : cputhrottle <PID> <PERCENTAGE>.
Sie finden die Prozess-ID mithilfe der Activity Monitor-App.

Zur Beendigung cputhrottle (die aktiv den Prozess so lange drosselt wie es läuft), drücken Sie Control- C.

Cykelero
quelle
1
Es sieht so aus, als ob cputhrottle's Forumula am 17. Februar 2019 aus Homebrew entfernt wurde, weil es nicht mehr funktioniert. Yosemite war die letzte Version von macOS, die cputhrottle unterstützte. github.com/Homebrew/homebrew-core/pull/36127
Sean Moubry
@sean Strange - cputhrottle scheint auf meinem Mac zu funktionieren, obwohl ich mit aktiviertem SIP auf Mojave bin. Möglicherweise habe ich es jedoch von einem anderen Ort heruntergeladen. Haben Sie versucht, es von der Website des Autors zu bekommen? willnolan.com/cputhrottle/cputhrottle.html
Cykelero
4

Sie können OS X jederzeit in einer virtuellen Maschine installieren und die virtuelle Maschine möglicherweise auf einen langsameren Prozessor einstellen.

Pinguinrob
quelle
2

Führen Sie einige Instanzen von aus yes > /dev/null &. Jede Instanz bindet einen Kern an 100%, führen Sie also einen für jeden Kern aus. Sie können auch versuchen, nicedie Ja-Prozesse auf eine höhere Priorität zu setzen oder die Priorität des Browsers zu verringern.

Cajunluke
quelle
1

Das Hinzufügen von Schlafzyklen zur Hauptschleife oder zu Teilen des Codes, der häufig ausgeführt wird, ist ein guter erster Schritt. Fügen Sie als Nächstes einige Berechnungen hinzu, die langsam / irrelevant sind. Je nachdem, was Sie betonen möchten, können Sie auch einige umständliche Zeiger-Berechnungen oder das Umwandeln von Variablen durchführen, um die Dinge zu verlangsamen. Dies ist beim Programmieren leicht zu sanden.

bmike
quelle
2
Denken wie ein Programmierer. Das ist nützlich; Ich möchte jedoch die minimale Taktrate finden, mit der das unveränderte Spiel ausgeführt werden kann.
JavaAndCSharp
Selbst wenn Sie ein Apple-Entwickler sind und Code in die Testlabors bringen, wo Sie ihn auf jeder Art von Hardware ausführen können, sollten Sie eine gute Fehlerquote einbauen, da viele Benutzercomputer weitaus schlechter abschneiden als ein Best-Case-Mac. Zwischen System-Add-Ons und Modifikationen, RAM-Problemen, vollen Festplatten usw.
bmike