Giochi in Javascript e performance dei browser
Venerdì 18 Settembre 2009 - 08:22
di Cesare Lamanna

Anni fa, quando compravo riviste di informatica e trovavo test delle performance di questo o quel PC, ricordo che c’era spesso una prova che riguardava le prestazioni nella resa di Quake o simili. Bene, pare che oggi i giochi in Javascript stiano diventando la pietra di paragone definitiva per comparare le prestazioni dei vari browser :)
Prendiamo questo JSNES. È un emulatore NES con cui è possibile giocare, tra gli altri, a Donkey Kong, Pac-Man e Legend of Zelda. L’ho provato con Safari 4 senza scorrere la pagina fino in fondo e ho subito notato come l’ometto di Donkey Kong si muovesse alla velocità… di un bradipo. Velocità media intorno ai 9fps. Poi sono andato in fondo alla pagina, scoprendo che per godere della velocità piena occorre usare Chrome (il browser di Google, oltre ad un motore Javascript ultra-performante, può contare, a detta dell’autore, su prestazioni eccellenti per l’elemento canvas).
Vi segnalo allora questo thread su Reddit per altri dettagli sulla questione, ma soprattutto per rimarcare la genialità del titolo:
JSNES - A 100% Javascript NES emulator! Play CONTRA from work even if Flash and downloads are disabled! :)
Categoria: Scripting | Permalink
Commenti
1
L’ ho visto ieri, funziona decisamente bene con alcuni titoli, altri invece hanno ancora bugs, comunque le prestazioni si possono ancora migliorare, certo, fa impressione vedere quello che riesce a fare chrome rispetto a FF - Safari …
La Virtual Machine di Chrome è veramente ben fatta!
Attendo che Andr3a faccia qualcosa di simile XD XD# - postato da kentaromiura - 18 Settembre 2009 - 08:53
2
IE non lo prevede neanche…
Chrome sembra fatto apposta per queste applicazioni, o forse sono le applicazioni che sono fatte per spingere Chrome?
3
E poi notavo: jquery anche qui!
4
V8 e’ l’engine JS ad oggi piu’ performante in assoluto, c’e’ poco da fare.
Senamion, IE non supporta canvas, ed e’ impensabile usare un wrapper su excanvas, andrebbe a zero allora.
jQuery con canvas c’entra poco niente, e se le performances sono un problema, qualunque astrazione sopra le native canvas aumentera’ tempi di esecuzione.
kentaromiura, ho provato a integrare V8 in Internet Explorer in Aprile 2009 al fine di tentare di sfruttare V8 al posto di JScript e risolvere i problemi del pachiderma di casa Microsoft … sfortunatamente ci sono troppi side-effects quindi ancora niente di ufficiale.In compenso sto seriamente pensando di mettere V8 nella prossima versione di PAMPA poiche’ l’engine e’ cosi’ ben fatto che secondo me anche server-side puo’ dare filo da torcere a PHP, Ruby, Python, e tutti gli altri non compilati.
Il progetto? V8CGI - gia’ nel mio mirino e sotto tests nel mio PAMPA local da tempo … stay tuned
5
Andr3a, io ho fatto alcuni test usando c# e la dll compilata in win32 di chrome e son riuscito a far colloquiare tranquillamente jscript e chrome ;)
Inoltre ho utilizzato Chrome per un progettino per la mia prossima console (Pandora) e ho dapprima fatto un hook con le SDL, e box2D ora il progetto è fermo poichè ho switchato verso SFML che è migliore di SDL sotto molti punti di vista,
e mi manca il tempo, rispetto a c# c++ è un po più ostico da digerire, ma utilizzando librerie come POCO si riesce a manovrarlo un po meglio ;)tutto questo per dire che Chrome è davvero un buon prodotto che può essere utilizzato al posto di LUA per scriptare i giochi
# - postato da kentaromiura - 18 Settembre 2009 - 21:12
6
Andr3a, io ho fatto alcuni test usando c# e la dll compilata in win32 di chrome e son riuscito a far colloquiare tranquillamente jscript e chrome ;)
il problema è manipolare oggetti e/o DOM in V8, il bridge con JScript renderà il tutto mostruosamente più lento, se possibile … abbiam già fatto tests sull’argomento, risultati purtroppo pessimi.







