Comment puis-je simuler un processeur lent?

12

J'ai presque fini de coder mon jeu webapp. Il fonctionne sur tous les navigateurs modernes. Cependant, je veux établir des exigences minimales pour cela.

Ainsi, j'ai besoin d'un Mac lent. Cependant, je n'ai pas accès à un Mac lent doté d'un navigateur moderne (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

En utilisant l'outil mentionné dans cette question , je peux simuler une connexion Internet lente. Je peux facilement utiliser beaucoup de mémoire. Cependant, je n'ai aucune idée de la façon de simuler un processeur lent sans recourir à l'overclocking.

Existe-t-il un moyen de ralentir temporairement le processeur de mon Mac sans sous-cadencement?

JavaAndCSharp
la source
toux Installer Windows? : P
Russell

Réponses:

7

Une solution consiste à utiliser la virtualisation pour exécuter une autre instance de Mac OS X sur votre ordinateur. De nombreuses applications de virtualisation (telles que Parallels Desktop ) vous permettent de décider de la quantité de ressources qu'une instance peut avoir (par exemple, la mémoire ou le processeur). Lion a augmenté sa prise en charge de la virtualisation de Mac OS X.

Si vous décidez d'utiliser Parallels, il existe un article pratique décrivant comment configurer une instance d'un autre Mac OS X Lion.

Sensé
la source
Battez-moi de 20 secondes :)
penguinrob
On dirait que c'est à la fois le favori de la communauté et ma réponse préférée. Chèque vert pour vous!
JavaAndCSharp
1
Dans Parallels, il semble que vous ne pouvez limiter que le nombre de cœurs de processeur mais pas la vitesse d'horloge.
Timo
Il semble que vous puissiez limiter le processeur à l'aide de CPUThrottle willnolan.com/cputhrottle/cputhrottle.html
Timo
6

Un bon moyen consiste à utiliser l'utilitaire de ligne de commande cputhrottle, qui vous permet de définir un plafond pour la quantité de CPU qu'un processus donné est autorisé à utiliser.

Installez-le avec (par exemple) brew: brew install cputhrottle

Ensuite , choisissez combien de pourcentage de processeur le processus de votre navigateur (et / ou votre navigateur onglet processus de contenu) peut utiliser: cputhrottle <PID> <PERCENTAGE>.
Vous pouvez trouver l'ID de processus à l'aide de l'application Moniteur d'activité.

Pour mettre fin à cputhrottle (qui limite activement le processus tant qu'il est en cours d'exécution), appuyez sur Control- C.

Cykelero
la source
1
On dirait que cputhrottlele forumula a été supprimé de Homebrew le 17 février 2019 car il ne fonctionne plus. Yosemite était la dernière version de macOS à prendre en charge cputhrottle. github.com/Homebrew/homebrew-core/pull/36127
Sean Moubry
@sean Strange — cputhrottle semble fonctionner sur mon Mac, même si je suis sur Mojave avec SIP activé. J'aurais peut-être fini par le télécharger ailleurs; avez-vous essayé de l'obtenir sur le site de l'auteur? willnolan.com/cputhrottle/cputhrottle.html
Cykelero
4

Vous pouvez toujours installer OS X sur une machine virtuelle et configurer la machine virtuelle pour avoir un processeur plus lent, peut-être.

pingouinrob
la source
2

Exécutez quelques instances de yes > /dev/null &. Chaque instance fixera un cœur à 100%, exécutez-en donc un pour chaque cœur. Vous pouvez également essayer de ramener niceles processus oui à une priorité plus élevée ou d'abaisser la priorité du navigateur.

Cajunluke
la source
1

Ajouter des cycles de sommeil à la boucle principale ou à des parties du code qui s'exécute souvent est une bonne première étape. Ensuite, ajoutez des calculs lents / non pertinents. En fonction de ce que vous voulez souligner, vous pouvez également effectuer des calculs de pointeurs maladroits ou lancer des variables pour ralentir les choses. C'est une chose facile à sandbag lors de la programmation.

bmike
la source
2
Penser comme un programmeur. C'est utile; cependant, je veux trouver la vitesse d'horloge minimale à laquelle le jeu non modifié peut s'exécuter.
JavaAndCSharp
Même lorsque vous êtes un développeur Apple et apportez du code à leurs laboratoires de test où vous pouvez l'exécuter sur toutes sortes de matériel - créez une belle marge d'erreur car de nombreuses machines utilisateur fonctionnent bien pire qu'un Mac dans le meilleur des cas. Entre modules complémentaires et modifications du système, problèmes de RAM, disques durs complets, etc ...
bmike