2012-03-02 11 views
14

Sto pensando di scrivere un gioco in JavaScript utilizzando WebGL e tecnologie associate. Mi piacerebbe rendere il gioco il più intelligente possibile, quindi sto cercando di monitorare l'utilizzo della CPU/memoria.Javascript- Monitorare in modo dinamico l'utilizzo della CPU/memoria

Ad esempio:

  • Per un uso elevato della CPU, ridimensionare la grafica un po 'o scaricare calcoli al server
  • Per l'utilizzo di memoria alta, scaricare dati al server per l'archiviazione (e il successivo recupero)

Vorrei ottenere i dati offerti da Chrome in è Task Manager. So come tenere traccia di FPS, e questo può portare ad una certa flessibilità, ma mi piacerebbe avere più informazioni possibili. Il caso d'uso principale è per una modalità "low power" in cui la CPU viene utilizzata il meno possibile (per laptop) o una modalità inattiva quando l'utente sta navigando nei forum, ecc.

So usare i profiler, ma Vorrei poter accedere a questi strumenti da JavaScript.

È possibile? In caso contrario, sai se è stato proposto per la standardizzazione?

Sarei disposto a vivere con un'estensione, purché possa essere richiesta da JavaScript, ma vorrei evitarlo se esiste una funzionalità nativa. Sto cercando di scegliere come target le versioni recenti di Firefox e Chrome, ma potrei limitarmi a un singolo browser se lo supporta.

risposta

8

Beh, non esiste una chiamata javascript diretta per ottenere tali informazioni (che sarebbe stato un serio problema di sicurezza). Ma c'è una soluzione per il tuo problema, puoi usare WorkPages che sono thread litterally per javascript per emulare una funzione che eseguirà alcuni calcoli in background per calcolare l'utilizzo della CPU. Ma dal momento che stai costruendo un'applicazione 3D non ti suggerirò di farlo perché ti costerà inutilmente un sacco di CPU per conoscere l'attuale livello di utilizzo della CPU, che sarebbe come uccidere una mosca con una mitragliatrice.

Quello che ti consiglio di fare è, tuttavia, concentrarsi solo sul frame al secondo perché sono correlati alla tua applicazione e sono l'indicazione di benchmark esatta di cui hai bisogno. Non ti preoccupare del carico della cpu, la tua applicazione non dipende direttamente da questo, specialmente se hai un processore dual-core o quad-core. Forse dovresti anche considerare l'utilizzo della GPU per la tua applicazione e come sfruttare appieno la GPU su un browser compatibile (l'ultimo Chromes utilizza l'accelerazione GPU).

Buona fortuna con il tuo gioco!

+2

Ho appena trovato questa presentazione API sul sito Web di Intel, dovrebbe anche interessarti molto http://software.intel.com/en-us/articles/intel-cpu-web-api-documentation-and-examples/ –

+0

+1 Che il collegamento Intel è piuttosto interessante! Non sono d'accordo, tuttavia, che sarebbe un serio problema di sicurezza, se fosse limitato per pagina (si potrebbe vedere solo l'utilizzo della CPU/memoria). Lo lascerò aperto qualche giorno solo nel caso in cui qualcun altro abbia un'idea. – tjameson

+0

Il video nel collegamento è privato. –

Problemi correlati