IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Optimisation code Javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre tr�s actif Avatar de sylvain230
    Homme Profil pro
    Orl�ans
    Inscrit en
    Mai 2008
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Orl�ans
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par d�faut Optimisation code Javascript
    Bonjour,

    J'ai fait un programme en WebGL.

    Maintenant, je voudrais optimiser le code au maximum.
    Quels conseils pourriez vous me donner pour cette optimisation ?

    J'ai d�j� transform� mon code pour avoir un programme orient� objet.
    Qu'est ce qui demande le plus de calcul � Javascript ?

    Merci d'avance

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Heu sans voir ton code ?
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de D�veloppez !

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par SpaceFrog
    Heu sans voir ton code ?
    Tu veux nous faire croire que tu as �puis� ta collection de poulets � �ventrer ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre tr�s actif Avatar de sylvain230
    Homme Profil pro
    Orl�ans
    Inscrit en
    Mai 2008
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Orl�ans
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par d�faut
    Ben en fait l'id�e de mon sujet c'�tait d� d�battre un peu sur les bonnes pratiques de programmation Javascript.
    Apr�s, je voulais m'inspirer de vos id�es pour am�liorer mon code.

    Je peux quand m�me vous montrer un peu si vous le d�sirez.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    // Fonction principale pour dessiner la scène
                function drawScene() {
                    gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
                    parametre();
     
     
                    if(lumiere)  {
                        gl.uniform3f(
                        shaderProgram.ambientColorUniform,
                        parseFloat(document.getElementById("ambientR").value),
                        parseFloat(document.getElementById("ambientG").value),
                        parseFloat(document.getElementById("ambientB").value)
                    );
     
                        gl.uniform3f(
                        shaderProgram.pointLightingLocationUniform,
                        parseFloat(document.getElementById("lightPositionX").value),
                        parseFloat(document.getElementById("lightPositionY").value),
                        parseFloat(document.getElementById("lightPositionZ").value)
                    );
     
     
                        gl.uniform3f(
                        shaderProgram.pointLightingSpecularColorUniform,
                        parseFloat(document.getElementById("specularR").value),
                        parseFloat(document.getElementById("specularG").value),
                        parseFloat(document.getElementById("specularB").value)
                    );
     
                        gl.uniform3f(
                        shaderProgram.pointLightingDiffuseColorUniform,
                        parseFloat(document.getElementById("diffuseR").value),
                        parseFloat(document.getElementById("diffuseG").value),
                        parseFloat(document.getElementById("diffuseB").value)
                    );
     
                    }
                    // Gestion de la transparence
                    if(blending)  {
                        gl.blendFunc(gl.SRC_ALPHA, gl.ONE);
                        gl.enable(gl.BLEND);
                        gl.disable(gl.DEPTH_TEST);
                        gl.uniform1f(shaderProgram.alphaUniform, parseFloat(document.getElementById("alpha").value));
                    }
                    else  {
                        gl.disable(gl.BLEND);
                        gl.enable(gl.DEPTH_TEST);
                    }
                    mat4.identity(mvMatrix);
     
     
                    // Déplacement sur chaque axe
                    mat4.translate(mvMatrix, [0, 0, z]);
                    mat4.translate(mvMatrix, [0, y_t, 0]);
                    mat4.translate(mvMatrix, [x_t, 0, 0]);
     
                    // Rotation de l'objet
                    mat4.multiply(mvMatrix, rotationMatrix);
     
                    if(tourner) {
                       mat4.rotate(mvMatrix, degToRad(rCube), [1, 0, -1]);
                    }
     
                    // Le dessin
                    mvPushMatrix();
     
                    // Permet de dessiner un cube
                    if(cube) {
                     Objet3D.webGLCube(video);
     
     
                    var mvPickMatrix = Matrix.create([
                            [mvMatrix[0],mvMatrix[4],mvMatrix[8],mvMatrix[12]],
                            [mvMatrix[1],mvMatrix[5],mvMatrix[9],mvMatrix[13]],
                            [mvMatrix[2],mvMatrix[6],mvMatrix[10],mvMatrix[14]],
                            [mvMatrix[3],mvMatrix[7],mvMatrix[11],mvMatrix[15]],
                             ]);
     
                    // Sélection d'un objet
                        if(doPick) {
     
                            pick = picking(mvPickMatrix);
     
                            if(pick == true)  {
                                alert("cube cliqué !");
                            }
     
                        }
     
     
                    }
     
                    // Permet de dessiner une sphere
                    if(sphere) {
                        Objet3D.webGLSphere();
                    }
     
     
                    // Dessiner un objet quelconque
                    if(objet) {
                        Objet3D.webGLObj();
                    }
     
     
                    // Dessiner une theire
                    if(theiere) {
                        Objet3D.webGLTeapot();
                    }
     
                    mvPopMatrix();
     
                    doPick = false;
     
                    // Afficher le nombre d'images/sec
                  //  framerate.snapshot();
     
                    if (current_time < 0)
                            last_time = new Date().getTime();
     
                    last_time = current_time;
                    current_time = new Date().getTime();
                    var fps = 1000.0 / (current_time - last_time);
                    fps = Math.round(fps);
                    tab[i] = fps;
                    i++;
     
                }
    Par exemple, ca c'est une m�thode que j�appelle toutes les 15 ms. C'est pour cela que l'optimisation est importante. Moins y a de code inutile et mieux c'est

    Par contre, c'est pas mal de WebGL malgr� que cela reste du Javascript..

  5. #5
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de D�veloppez !

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Par exemple ?

    (edit : cram� par la grenouille ok je m'incline )

  7. #7
    Membre tr�s actif Avatar de sylvain230
    Homme Profil pro
    Orl�ans
    Inscrit en
    Mai 2008
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Orl�ans
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par d�faut
    Ok ok je vais regarder ca merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Fermeture fenetre cr�e par code javascript
    Par Kerod dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 27/02/2010, 00h04
  2. Appel fonction php dans code javascript
    Par licorne dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 05/03/2008, 10h55
  3. [d�butante] conflit entre 2 codes javascript ??
    Par silversky dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 18/09/2005, 00h42
  4. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 25/11/2004, 21h47
  5. Deboggage de code Javascript...
    Par michel baily dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 24/11/2004, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo