Mi è successa una cosa strana, un po' preoccupante.
Ho scritto un programmino in javascript che fa muovere un punto intorno a un centro con orbite che richiamano quelle di un elettrone intorno al nucleo, con la tecnica di modificare style.left e style.top.
E fin qui nessun problema: il punto (che in realtà è un quadratino di 8x8 pixel) gira proprio come dovrebbe.
Siccome però si vede solo il punto in movimento ma non la traccia delle orbite, ho fatto una piccola modifica: prima di applicare i nuovi valori di coordinate top e left al puntino orbitante, il programma crea un nuovo puntino (un nuovo tag <img>) con le vecchie coordinate, che rimane come traccia del passaggio a formare una scia delle orbite (non so se mi spiego).
Anche questa cosa ha funzionato perfettamente, e infatti il programmino mostra proprio il puntino ruotante con orbite di aspetto simile a quelle degli elettroni intorno al nucleo (nell'iconografia divulgativa).
Ero già piuttosto compiaciuto quando mi sono accorto di uno strano sovraccarico della CPU, che infatti dopo una decina di secondi dal caricamento nel browser del programmino sale al 100% di utilizzo, dove si stabilizza in modo permanente.
Dopo una trentina di secondi la CPU si è già scaldata di oltre 15 gradi sopra i suoi valori normali e il software di controllo (speedfan nel mio caso) mostra frecce rosse, allarmi fuoco e fiamme da tutte le parti.
Non so dire cosa potrebbe succedere alla CPU se lo lascissi girare per qualche minuto, perchè ci tengo alla mia macchina e non ci provo di sicuro, ma trovo la cosa alquanto preoccupante, anche perchè il tutto avviene in modo assolutamente silenzioso e solo in conseguenza di un programmino javascript che gira pacificamente nel browser e che tutto sommato avrei potuto caricare da qualsiasi sito.
A qualcuno è già capitato qualcosa del gener? Quale può essere la causa?
Non dovrebbe esserci una qualche misura di sicurezza del browser che impedisca un utilizzo tale da surriscaldare la CPU in modo critico?
Per la precisione, la riga di codice che stressa la CPU è quella dove viene creato il nuovo elemento da lasciare come traccia. Finchè c'è un solo elemento che gira non ci sono problemi, ma quando il documento comincia ad essere popolato da centinaia di elementi, la CPU schizza al 100% (mentre l'occupazione di RAM rimane modesta, esattamente al contrario di quello che mi sarei aspettato, e non swappa neppure).