¿Cómo puedo simular tener una CPU lenta?

11

Ya casi termino de codificar mi juego de aplicación web. Se ejecuta en todos los navegadores modernos. Sin embargo, quiero establecer algunos requisitos mínimos para ello.

Por lo tanto, necesito un Mac lento. Sin embargo, no tengo acceso a una Mac lenta que tenga un navegador moderno (IE 9+, Safari 5+, Opera 11+, Chrome, Firefox 4+).

Usando la herramienta mencionada en esta pregunta , puedo simular una conexión a internet lenta. Puedo usar mucha memoria fácilmente. Sin embargo, no tengo ni idea de cómo simular una CPU lenta sin recurrir a un bloqueo bajo.

¿Hay alguna manera de hacer que la CPU de mi Mac sea más lenta temporalmente sin un bloqueo menor?

    
pregunta JavaAndCSharp 28.03.2012 - 05:03

5 respuestas

7

Una solución es usar la virtualización para tener otra instancia de Mac OS X ejecutándose en su computadora. Muchas aplicaciones de virtualización (como Parallels Desktop ) le permiten decidir cuántos recursos puede tener una instancia (por ejemplo, memoria o CPU) . Lion aumentó su soporte de virtualización Mac OS X.

Si decides ir con Parallels, hay un artículo útil que describe cómo configurar una instancia de otro Mac. OS X Lion.

    
respondido por el Senseful 28.03.2012 - 05:10
4

Siempre puedes instalar OS X en una máquina virtual y configurar la máquina virtual para que tenga un procesador más lento, tal vez.

    
respondido por el penguinrob 28.03.2012 - 05:11
4

Una buena manera es usar la utilidad de línea de comandos cputhrottle , que le permite establecer una límite a la cantidad de CPU que un proceso determinado puede usar.

Instálalo con (por ejemplo) brew: brew install cputhrottle

Luego, elija cuánto porcentaje de procesador puede usar el proceso para su navegador (y / o el proceso de contenido de la pestaña de su navegador): cputhrottle <PID> <PERCENTAGE> .
Puede encontrar el ID de proceso utilizando la aplicación Monitor de actividad.

Para finalizar cputhrottle (que acelera activamente el proceso mientras se ejecuta), presione Control - C .

    
respondido por el Cykelero 15.11.2017 - 16:32
2

Ejecuta algunas instancias de yes > /dev/null & . Cada instancia fijará un núcleo al 100%, así que ejecute uno para cada núcleo. También puede intentar restablecer los procesos sí a una prioridad más alta o reducir la prioridad del navegador.

    
respondido por el CajunLuke 28.03.2012 - 08:03
1

Agregar un ciclo de suspensión al bucle principal o partes del código que se ejecuta a menudo es un buen primer paso. A continuación, agregue algunos cálculos que sean lentos / irrelevantes. Dependiendo de lo que quieras enfatizar, también puedes hacer algunas incómodas matemáticas de puntero o la conversión de variables para ralentizar las cosas. Esto es algo fácil de realizar en la bolsa de arena cuando se programa.

    
respondido por el bmike 28.03.2012 - 05:13

Lea otras preguntas en las etiquetas