[JS] animations
Fermé
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
-
17 oct. 2012 à 04:24
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 - 19 oct. 2012 à 13:41
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 - 19 oct. 2012 à 13:41
A voir également:
- [JS] animations
- Voici une présentation avec des animations. quand on lance le diaporama, quels fruits descendent du haut de l’écran ? ✓ - Forum LibreOffice / OpenOffice
- Js/packed.agent.l ✓ - Forum Virus
- Arrondi js - Forum Javascript
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Photoshop
- Pixlr - Forum Graphisme
4 réponses
productif
Messages postés
39
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
9 février 2017
20
18 oct. 2012 à 10:12
18 oct. 2012 à 10:12
Il y a probablement d'autres animations qui entrent en concurrence et qui limitent les ressources CPU disponibles. Ca peut être d'autres Javascripts, du Flash, etc. Il faut peut-être aussi regarder les performances de ton script, il est peut être possible de l'optimiser.
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
Modifié par Atropa le 19/10/2012 à 02:35
Modifié par Atropa le 19/10/2012 à 02:35
merci pour cette réponse.
il n'y a pas d'autre scripts ni de flash qui se lance en mêmes temps.
pour ce qui est de l'optimisation de ce code j'ai fait de mon mieux...
je viens de découvrir ça : https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
mais j'ai testé en déplaçant des images avec cette fonction et setInterval sur une page vierge et je ne remarque pas vraiment de différence significative au niveau de la fluidité et des ressources utilisé.
il s'agit d'une galerie d'image assez simple.
les données sont récupéré en json par un xhr synchrone et les miniatures sont disposé sous forme de dalle en background dans des div. sur c'est div il y a un transition css au passage de la souris sur la propriété box-shadow (qui n'est pas tres fluide non plus)
ensuite au clique sur une de c'est image la fonction qui pose probleme:
ca crée une light box en js et ca la fait passer d'un scale 0 au position du curseur à un scale 1 au centre de l'écran ainsi que l'opacité de 0 à 1 en 250ms. (4 à 6 étapes dans le site contre 10 à 16 sur une page vierge)
à la fermeture le la box il n'y a pas de problème, mais là je fais juste passer la box de scale 1 à 0 et l'opacité de 1 à 0 également et les 2 fonctions sont quasiment identique.
en fait il y a aussi les transitions css qui sont lentes et le scroll vertical sur certaines pages
mes pages n'ont aucunes erreurs ni avertissement au test w3c et le css est également valide.
il n'y a pas d'autre scripts ni de flash qui se lance en mêmes temps.
pour ce qui est de l'optimisation de ce code j'ai fait de mon mieux...
je viens de découvrir ça : https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
mais j'ai testé en déplaçant des images avec cette fonction et setInterval sur une page vierge et je ne remarque pas vraiment de différence significative au niveau de la fluidité et des ressources utilisé.
il s'agit d'une galerie d'image assez simple.
les données sont récupéré en json par un xhr synchrone et les miniatures sont disposé sous forme de dalle en background dans des div. sur c'est div il y a un transition css au passage de la souris sur la propriété box-shadow (qui n'est pas tres fluide non plus)
ensuite au clique sur une de c'est image la fonction qui pose probleme:
ca crée une light box en js et ca la fait passer d'un scale 0 au position du curseur à un scale 1 au centre de l'écran ainsi que l'opacité de 0 à 1 en 250ms. (4 à 6 étapes dans le site contre 10 à 16 sur une page vierge)
à la fermeture le la box il n'y a pas de problème, mais là je fais juste passer la box de scale 1 à 0 et l'opacité de 1 à 0 également et les 2 fonctions sont quasiment identique.
en fait il y a aussi les transitions css qui sont lentes et le scroll vertical sur certaines pages
mes pages n'ont aucunes erreurs ni avertissement au test w3c et le css est également valide.
productif
Messages postés
39
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
9 février 2017
20
19 oct. 2012 à 11:33
19 oct. 2012 à 11:33
Par hasard, est-ce qu'il n'y aurait pas des images beaucoup plus lourdes sur la page du site par rapport à la page de test ?
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 oct. 2012 à 12:33
19 oct. 2012 à 12:33
pas d'image lourde mais (et je me le suis déjà demandé mais sans prendre le temps de le changer) beaucoup de background-size 100% 100% sur de petites images de souvent moins de 5ko
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 oct. 2012 à 12:34
19 oct. 2012 à 12:34
pour faire les dégrader, il fautdrait peut être les remplacer par linear-gradient
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 oct. 2012 à 12:37
19 oct. 2012 à 12:37
il y a une image de 356ko qui sert de background à l'entête du site sinon l'image la plus lourde fait 34ko
Freedomsoul
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
97
19 oct. 2012 à 12:40
19 oct. 2012 à 12:40
Question bête mais as-tu fait les testes sur différents navigateurs ?
Versions ?
Versions ?
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
Modifié par Atropa le 19/10/2012 à 13:29
Modifié par Atropa le 19/10/2012 à 13:29
sur différent navigateur mais pas différentes versions de chaques
sur ie je n'ai pas le problème, c'est sur firefox et chrome que je le rencontre.
je viens de regarder sur safari et c'est pire que tout. 2 à 3 boucle et ce n'est pas la seule fonction d'animation qui pose problème...
Après ce site n'as pas besoin d'être compatible avec les anciens navigateurs. un message invite les visiteurs a mettre à jour leur navigateur si il est ancien et c'est très bien comme ça.
mes fonctions ressemblent à ça :
sur ie je n'ai pas le problème, c'est sur firefox et chrome que je le rencontre.
je viens de regarder sur safari et c'est pire que tout. 2 à 3 boucle et ce n'est pas la seule fonction d'animation qui pose problème...
Après ce site n'as pas besoin d'être compatible avec les anciens navigateurs. un message invite les visiteurs a mettre à jour leur navigateur si il est ancien et c'est très bien comme ça.
mes fonctions ressemblent à ça :
function anim() { var o = document.getElementById('id'); var timeS = Date.now(); var duration = 250; var ind; var inter = setInterval(function() { ind = (Date.now - timeS) / duration; if(ind > 1) ind = 1; /* -------- Animation de l'élement o par exemple o.style.opacity = ind; ------ */ if(ind == 1) { clearInterval(inter); } },10); }
Freedomsoul
Messages postés
509
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
17 avril 2013
97
Modifié par Freedomsoul le 19/10/2012 à 13:17
Modifié par Freedomsoul le 19/10/2012 à 13:17
Je suis d'accord ^^
Version, c'est pour savoir si elels étaient bien à jours, c'est sur qu'on ne teste pas toutes les version :p
Pour ton problème je ne sais pas vraiment, avec firefox, un CTRL + MAJ + K permet d'obtenir un outils plutot sympa qui donne les temps de chagement de pas mal de truc:)
essaie de voir par la meme occasion si y'a des erreurs
je peux pas t'en dire plus, mais bonne chance !
Version, c'est pour savoir si elels étaient bien à jours, c'est sur qu'on ne teste pas toutes les version :p
Pour ton problème je ne sais pas vraiment, avec firefox, un CTRL + MAJ + K permet d'obtenir un outils plutot sympa qui donne les temps de chagement de pas mal de truc:)
essaie de voir par la meme occasion si y'a des erreurs
je peux pas t'en dire plus, mais bonne chance !
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
19 oct. 2012 à 13:41
19 oct. 2012 à 13:41
merci pour Ctrl +Maj + K je ne connaissais pas il y a un peut la même chose dans firebug mais comme tu dis c'est plutôt sympa.
Il ne trouve aucune erreur, juste un avertissement css sur user-select
Il ne trouve aucune erreur, juste un avertissement css sur user-select