2010-12-14 29 views
2

Cela semble vraiment bizarre, et je n'arrive pas à trouver une cause.Pourquoi mon script box2d.js/canvas s'exécute-t-il plus vite avec firebug open?

Je cours une petite simulation avec box2d.js, juste quelques boîtes avec des joints pour faire une «corde». En utilisant firefox (version 3.6.13), il fonctionne assez lentement, jusqu'à ce que j'ouvre firebug (version 1.6.0), et puis il y a une énorme vitesse (en supposant que je dirais au moins 2x).

Si je désactive complètement l'extension firebug et redémarre le navigateur, il reste lent.

Ce qui pourrait être à l'origine de cela, et comment puis-je le faire fonctionner aussi vite?


EDIT

Comme preuve, voici un fichier zip: https://docs.google.com/leaf?id=0B5twGxOv6WCsOTU5NzVjZTEtNGY0ZS00ZjFiLTkwNDUtYTE3YjlmNmU2Zjhh&sort=name&layout=list&num=50

Vous avez un ami avec une ancienne version de Firebug et il ne pouvait pas se reproduire.


EDIT 2

Si je change la mise en œuvre à l'aide raphael au lieu de la toile, il ne se produit plus, donc je pense que cela doit être à voir avec la toile.

Répondre

1

C'est bizarre! Avez-vous des appels console.log dans votre code? Sans Firebug ceux échoueront, causant peut-être le ralentissement.

+0

En outre, il peut utiliser deux contrôles ou plus pour voir si 'console' existe et que' console' a une méthode 'log' qui pourrait le ralentir. Donc quand 'console' existe, il vole juste après ces contrôles. – sholsinger

+0

Je toujours inclure ce code dans mon js si la console n'existe pas (comme dans aucun Firebug, ou en utilisant IE) appels à console.log ne pas d'erreur: si (! Console) { var console = {log :fonction(){}}; } – bejonbee

+0

Malheureusement, cela ne semble pas être le cas. Il n'y a pas d'erreur dans le journal des erreurs de firefox, et 'grep -R console' dans la source utilisée ne donne aucun résultat. – DaedalusFall