Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
¿Cómo evitar que Javascript se suspenda cuando el usuario se retira?

Estoy desarrollando un juego web que utiliza un paso de tiempo físico fijo.

Actualmente estoy haciendo toda mi física y renderizando en una función requestAnimationFrame .

Esto funciona perfectamente, pero requestAnimationFrame suspende y deja de ejecutarse cuando el usuario se desconecta (supongo que para ahorrar rendimiento del procesador).

Como resultado, si saltas durante unos 30 minutos y luego vuelves, el juego tiene que simular 30 minutos de física para volver al punto correcto.

Esto es muy malo, ya que hace que la pestaña se congele mientras la CPU funciona al 100 % durante los próximos 3 minutos mientras ejecuta todos esos cálculos físicos.

Creo que la única solución es hacer que la física se ejecute mientras la pestaña está inactiva, pero no estoy seguro de cómo. Supongo que solo debería tener la representación en requestAnimationFrame , porque no importa si se pierde. Pero la física necesita ser mantenida.

Aparentemente, setInterval también se suspende cuando el usuario se retira.

Entonces, ¿cómo se debe manejar esto? Necesito una forma de ejecutar la física cada 16,6667 milisegundos, independientemente de si el usuario está tabulado o no. es posible? Escuché sobre WebWorkers, pero ¿es esa la solución real? ¿Para poner todo el juego dentro de un WebWorker? ¿Qué pasa cuando quiero cambiar el DOM y cosas así? Parece un poco demasiado.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda