|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 16 ![]() |
Bonsoir,
J'ai voulu intégrer de la neige sur un site web et j'ai trouvé ce script qui fonctionne bien mais provoque un leak de mémoire qui éssoufle rapidement un pc modeste :http://rainbow.arch.scriptmania.com/...ow_fall_1.html En regardant le code, je ne vois pas ce qui provoque l'augmentation de consommation mais javascript n'est pas un langage que je connais très bien (je maîtrise assez bien jQuery mais cela fait longtemps que je n'ai pas codé sans lui). Peut-être que cela paraîtra évident à l'un d'entre vous ? Merci d'avance : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() eric Étudiant Inscription : décembre 2010 Messages : 103 ![]() |
le script est bien fait, mais il marche avec du setTimeout() pour plus de compatibilité.
le souci c'est que du coup c'est un script récursif , et les fonctions exécutées s'entassent dans la mémoire sans se terminer. Il y a bien set Interval qui permettrait d'arranger la chose, mais bizarrement, chez moi ca ne veut par marcher. j'ai également corrigé le code (il manquait plein de ; ) ce qui rendait le code moins conforme... j'ai observé que sous chrome le garbage collector marche au bout de 10 -15 Megas, tandis que sous firefox , c'est apres 100-120 Megas que ca se déclenche. En tout cas ca semble stable. Code :
|
||
|
|
00
|
|
|
#3 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 071 ![]() |
ça me rappelle quelque chose ...
http://www.developpez.net/forums/d84...r-chute-neige/ A priori pas de fuite non plus mais l'accumulation des setInterval est gourmand..
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
10
|
|
|
#4 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 872 ![]() |
|
|
|
10
|
|
|
#5 | |||||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Citation:
Le code ci-dessous est bien récursif et requiert donc de Javascript de mémoriser les variables locales, etc... Code :
Ceci dit, il est vrai que si la fonction appelée n'est pas "réentrante" et que l'appel différé survient avant que la fonction ne soit effectivement terminée, cela peut créer des soucis. Pour contrer cela, nous pouvons utiliser un drapeau. Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|||||
|
|
10
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 16 ![]() |
Bonjour,
J'ai d'abord modifié le code en remplaçant le timeOut par un timer jQuery, celà n'a rien changé. J'ai ensuite remplacé les lignes Code :
A tester sous d'autres navigateurs toutefois. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com