2012-03-02 21 views
14

Estoy considerando escribir un juego en JavaScript usando WebGL y las tecnologías asociadas. Me gustaría hacer que el juego sea lo más inteligente posible, así que estoy buscando monitorear el uso de la CPU/memoria.Javascript- Monitorear dinámicamente el uso de CPU/memoria

Por ejemplo:

  • Para un uso intensivo de la CPU, la escala de nuevo los gráficos un poco o sacar datos de cálculos para el servidor
  • Para uso de memoria alta, descargar los datos al servidor para su almacenamiento (y más tarde recuperación)

Me gustaría obtener los datos que Chrome ofrece en su Task Manager. Sé cómo rastrear FPS, y eso puede llevar a cierta flexibilidad, pero me gustaría tener tanta información como sea posible. El caso de uso principal es para un modo de "bajo consumo" donde la CPU se utiliza lo menos posible (para computadoras portátiles) o un modo inactivo cuando el usuario está navegando por foros, etc.

Sé cómo usar los perfiles, pero Me gustaría tener acceso a estas herramientas desde JavaScript.

¿Esto es posible? Si no, ¿sabe si se ha propuesto para la estandarización?

Estaría dispuesto a vivir con una extensión, siempre y cuando se pueda consultar desde JavaScript, pero me gustaría evitarla si existe una característica nativa. Estoy intentando orientarme a las versiones recientes de Firefox y Chrome, pero podría restringirme a un solo navegador si uno admite esto.

Respuesta

8

Bueno, no hay una llamada javascript directa para obtener dicha información (lo que hubiera sido un grave problema de seguridad). Pero hay una solución para su problema, puede usar agrupaciones de trabajadores que son literalmente subprocesos de javascript para emular una función que ejecutará algunos cálculos en segundo plano para calcular el uso de la CPU. Pero como está compilando una aplicación 3D, no le aconsejaré que lo haga, ya que le costará innecesariamente mucho uso de la CPU conocer el nivel actual de uso de la CPU, que sería como matar una mosca con una ametralladora.

Lo que le aconsejo que haga, sin embargo, es centrarse solo en el marco por segundo porque están relacionados con su aplicación y son la indicación de referencia exacta que necesita. No importa la carga de la CPU, su aplicación no depende directamente de eso, especialmente si tiene un procesador de doble núcleo o cuatro núcleos. También debería considerar el uso de la GPU para su aplicación y cómo puede aprovechar plenamente la GPU en un navegador compatible (la última versión de Chromes utiliza la aceleración de la GPU).

¡Buena suerte con tu juego!

+2

Acabo de encontrar esta presentación de API en el sitio web de Intel, también debería interesarle mucho http://software.intel.com/en-us/articles/intel-cpu-web-api-documentation-and-examples/ –

+0

+1 ¡Ese enlace Intel es genial! No estoy de acuerdo, sin embargo, en que sería un problema de seguridad serio, si fuera limitado por página (solo podría ver su uso de CPU/memoria). Lo dejaré abierto unos días por si acaso alguien más tiene una idea. – tjameson

+0

El video en el enlace es privado. –

Cuestiones relacionadas