2010-05-20 5 views
0

J'ai profilé javascript sur ma page qui utilise des widgets dojo. Je n'utilise pas l'analyse explicite - l'analyseur s'exécute sur le chargement de la page. Ce que j'ai remarqué est que si j'efface le cache du navigateur avant d'actualiser la page, l'analyse dojo prend beaucoup plus de temps que si tous les fichiers sont déjà mis en cache.Pourquoi le temps d'analyse de dojo dépend-il de la disponibilité de css et d'images?

Notez que nous construisons tous les modules dojo requis dans une couche (un seul fichier), donc nous ne chargeons pas les fichiers js. Je me demande si le processus d'analyse du dojo dépend des images et des ressources css, autant que je sache, il instancie seulement les widgets et injecte les nœuds dom.

Avez-vous des idées pour lesquelles l'analyseur dojo fonctionne plus longtemps (2 à 3 fois plus longtemps dans mon cas) lorsque le cache est effacé?

Répondre

1

Avez-vous vérifié si des fichiers ont été chargés? Locales? NLS? L'analyse/la mise en forme de la date et de l'heure dépend fortement de la culture, ce qui peut être résolu dynamiquement par les paramètres régionaux, à moins que vous n'ayez fait une liste de construction correcte prenant en charge les paramètres régionaux.

+0

J'ai regardé le téléchargement de fichiers avec HttpAnalyzer - il n'y avait que des images, des fichiers CSS et un seul fichier de couche js. Donc, d'après ce que je comprends de votre réponse, l'analyse ne devrait pas dépendre de css, des ressources d'image? – Kniganapolke

+0

C'est exact, l'analyse n'utilise pas d'images ni de CSS. –

+0

Vous aviez raison. J'ai raté quelques fichiers NLS en cours de chargement. Il y avait aussi des fichiers modèles qui n'ont pas été intégrés dans la couche. – Kniganapolke

1

Il semble que le chargement de la page elle-même, pas l'analyse, serait plus lent si le cache est effacé, et ce n'est pas différent de toute autre page. Vous pouvez réduire un peu le CSS avec l'outil de construction. Le paramètre cssOptimize peut aligner tous les fichiers @import de Dijit de la même façon que les CSS, si vous ne le faites pas déjà. Les images peuvent être carrelées aussi pour aider à la performance.

+0

Ce qui me déroutait, c'est que le profileur javascript affichait plus de temps pour l'exécution de la méthode parse de dojo lorsque le cache était effacé. – Kniganapolke

Questions connexes