Как я могу симулировать медленный процессор?

12

Я почти закончил кодировать мою webapp-игру. Работает на всех современных браузерах. Однако я хочу установить некоторые минимальные требования для этого.

Таким образом, мне нужен медленный Mac. Однако у меня нет доступа к медленному Mac с современным браузером (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

Используя инструмент, упомянутый в этом вопросе , я могу симулировать медленное интернет-соединение. Я могу легко использовать много памяти. Однако я понятия не имею, как имитировать медленный процессор, не прибегая к разгону.

Можно ли как-нибудь замедлить процессор моего Mac временно без разгона?

JavaAndCSharp
источник
кашлять Установить Windows? : P
Рассел

Ответы:

7

Одним из решений является использование виртуализации для запуска другого экземпляра Mac OS X на вашем компьютере. Многие приложения для виртуализации (такие как Parallels Desktop ) позволяют вам решить, сколько ресурсов может иметь экземпляр (например, память или процессор). Lion расширил поддержку виртуализации Mac OS X.

Если вы решили пойти с Parallels, есть полезная статья о том, как настроить экземпляр другого Mac OS X Lion.

Senseful
источник
Ударь
Похоже, что это и любимый, и мой любимый ответ сообщества. Зеленый чек для тебя!
JavaAndCSharp
1
В Parallels кажется, что вы можете ограничить только количество процессорных ядер, но не тактовую частоту ..
Тимо
Похоже, вы можете регулировать скорость
Тимо
6

Хорошим способом является использование утилиты командной строки cputhrottle, которая позволяет установить ограничение на то, сколько ЦП разрешено использовать данному процессу.

Установите его, например, с помощью brew: brew install cputhrottle

Затем выбрать , сколько процентов процессор процесс для вашего браузера (и / или технологом содержимого вкладки браузера) можно использовать: cputhrottle <PID> <PERCENTAGE>.
Вы можете найти идентификатор процесса с помощью приложения Activity Monitor.

Чтобы завершить cputhrottle (который активно регулирует процесс в течение всего времени его работы), нажмите Control- C.

Cykelero
источник
1
Похоже cputhrottle, форум был удален из Homebrew 17 февраля 2019 года, потому что он больше не работает. Yosemite была последней версией macOS, поддерживающей cputhrottle. github.com/Homebrew/homebrew-core/pull/36127
Шон Мубри,
@sean Strange - cputhrottle, похоже, работает на моем Mac, хотя я нахожусь в Мохаве с включенным SIP. Я мог закончить тем, что загружал это из другого места, хотя; Вы пытались получить его с сайта автора? willnolan.com/cputhrottle/cputhrottle.html
Cykelero
4

Вы всегда можете установить OS X на виртуальную машину и настроить виртуальную машину на более медленный процессор, возможно.

penguinrob
источник
2

Запустите несколько экземпляров yes > /dev/null &. Каждый экземпляр будет привязывать ядро ​​к 100%, поэтому запускайте по одному для каждого ядра. Вы также можете попытаться niceустановить более высокий приоритет процессов yes или понизить приоритет браузера.

Cajunluke
источник
1

Добавление циклов сна в основной цикл или части кода, который часто выполняется, является хорошим первым шагом. Затем добавьте некоторые вычисления, которые являются медленными / неактуальными. В зависимости от того, что вы хотите подчеркнуть, вы также можете использовать некоторые неуклюжие математические указатели или приведение переменных для замедления. Это легко сделать мешком с песком при программировании.

bmike
источник
2
Думая как программист. Это полезно; Тем не менее, я хочу найти минимальную тактовую частоту, на которой может работать неизмененная игра.
JavaAndCSharp
Даже если вы являетесь разработчиком Apple и берете код в их лаборатории тестирования, где вы можете запустить его на любом оборудовании - постарайтесь создать хороший предел погрешности, поскольку многие пользовательские машины работают намного хуже, чем Mac с лучшим примером. Между системными надстройками и модификациями, проблемами с оперативной
памятью