Ce message est en mode wiki. Tous les comptes de plus de 30 jours avec plus de 30 messages peuvent le modifier.
La question d'optimiser les scripts pour qu'ils soient plus rapide et génère moins de lag est quelque chose qui est difficile d'expliquer de manière exhaustive. Je propose donc que chacun y pose sa pierre au fur et à mesure que l'on rencontre des cas, de façon à ce que l'on fasse tous des script plus performant. Sommaire : Valeursmême si la partie décimale n'est pas explicitement nécéssaire quand on assigne une valeur, on obtient de meilleurs performances en les mettant au complet, surtout si cette valeur est directement passée en paramètre ou utilisée dans une exepression.exemple: Code:
vector vec=llGetPos()+<1.0,20.0,50.0>; rotation rot=llGetRot()+<1.0,2.0,5.0,0.1>; float fl=llFrand(10.0); NomenclatureLes variables doivent respecter le "camel case" c'est à dire une majuscule à chaque partie de la variable.Cela permet une meilleur lisibilité Exemple: Code:
integer MyChannel=10; integer MaVariableAvecUnTresGrandNom=1; exemple: Code:
string gMonMessage="Hello World."; default { state_entry() { llSay(0, gMonMessage); } } exemple: Code:
string MESSAGE="Hello World."; default { state_entry() { llSay(0, MESSAGE); } } Catégorie : Le Linden Script Language
|
|
13/05/2008, 17h14 |
|
Aller à la page... |
[Wiki] Guide : Best Practice LSL
Suivre Répondre |
|
Partager | Rechercher |
|
Dans ce cas précis, j'ai bien peur que la conversion en float se fasse au moment de la compilation, et donc l'exécution ne devrait pas en souffrir... Non ?
|
13/05/2008, 17h36 |
|
|
Je pense que le meilleur lien vers des infos sur ce sujet reste celui-ci:
http://rpgstats.com/wiki/index.php?title=Lag (Bon ok c'est en anglais...) Les pieges de base dans lesquels je suis tombee moi au debut: - Utilisation inconsideree de llSetTimerEvent, avec une occurence de l'evenement de timer bien trop elevee - Meme commentaire sur llSensorRepeat Mae |
13/05/2008, 18h02 |
|
|
Je veux pas me mouiller (normal pour un chat) mais je crois que le lsl n'est pas du complier, mais de l'interprété. Donc le code n'est pas corrigé
|
13/05/2008, 18h07 |
|
|
Quelque informations ici aussi sur l'efficacité des scripts :
http://wiki.secondlife.com/wiki/LSL_Script_Efficiency et d'autres infos un peu dans le même ton là : http://wiki.secondlife.com/wiki/LSL_Script_Efficiency En reprenant le script proposé dans le premier lien j'ai testé les deux cas suivants : llSetScale(<1, 1, 1>) Citation :
llSetScale(<1.0, 1.0, 1.0>) Citation :
|
13/05/2008, 20h02 |
|
Elenia Boucher |
Voir le profil public |
Trouver plus de messages par Elenia Boucher |
|
Effectivement le LSL n'est pas compilé en langage machine mais dans un bytecode du style de celui de java. Une machine virtuelle est chargé de l'exécuter.
En ce qui concerne l'optimisation de l'écriture des scripts la donne va être un peu changée avec l'arrivée de mono : http://wiki.secondlife.com:80/wiki/Mono Certaines SIM sont déjà sous cette plateforme et on peut y tester nos scripts. Les tests montrent un gain en vitesse de l'ordre de 200. D'autre part la mémoire attribuée à chaque script va passer de 16KO à 64 KO. Ca ne veut évidemment pas dire qu'il ne faudra plus s'inquiéter de l'optimisation des scripts mais on aura plus de marge de manoeuvre. Par contre on ne bénéficiera pas d'un langage évolué comme on aurait pu l'espérer avec l'arrivée de Mono. On va en rester au LSL et sa rusticité fonctionnelle. Dommage |
13/05/2008, 20h11 |
|
|
Citation :
Merci Lhoreena pour ces liens très intéressants... Tiens, au passage j'y ai lu un bon truc à savoir : le a++ met 40% plus de temps à s'exécuter que le ++aEtonnant, non ? |
14/05/2008, 09h13 |
|
Héros
|
Fais un wiki, et on ne lit les discussions que si nécessaire, ou intéressé.
|
14/05/2008, 12h43 |
|
|
J'y ai bien pensé mais je suis pas modo
J'ai d'ailleurs fais une demande à ma modo prèférée et elle me boude.... hhaaa les femmes... |
14/05/2008, 13h32 |
|
|
Pas besoin d'être modo pour faire un wiki. Tout le monde peut le faire.
|
14/05/2008, 16h04 |
|
|
bon, ok nibb...
Mais comment? |
14/05/2008, 16h27 |
|
|
tu met [wiki] au début du titre du sujet
|
14/05/2008, 16h48 |
|
|
C'est quand même pas ca qui va le séparé?
|
14/05/2008, 17h19 |
|
#216775 |
|
|
14/05/2008, 18h38 |
|
|
bonne idée PI78, mais le verrai ca plutot dans le wiki LSL 101
https://forums.jeuxonline.info/showthread.php?t=708840 |
26/05/2008, 10h20 |
|
|
Eh bien non, j'ai constaté que ce sont justement les "pros" qui codent plus vite que leur ombre... mais qui oublient de mettre des commentaires
|
26/05/2008, 10h47 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|