29 septembre 2009

La fenêtre statistiques de SL

Essayons aujourd'hui de décrypter la fenêtre de statistiques de SL.
Cette fenêtre est très souvent utilisée pour mesurer le lag. Donc souvent utilisée en C:SI.

Pour faire apparaitre cette fenêtre, il suffit d'aller dans le menu : Affichage > Statistiques
Ou encore de faire : CTRL + MAJ + 1

Les informations sont regroupées par catégories :
  • Basic
  • Advanced
  • Simulator

Si une catégorie n'est pas affichée, il suffit de faire un double clic dessus pour la dérouler.



Basic

FPS : cette valeur dépend de la carte graphique. Elle correspond au nombre d'images (frames) par seconde que la carte affiche, le nombre de rafraichissement de l'écran par seconde.
Plus le nombre est élevé, plus l'affichage est fluide, surtout en combat C:SI.

Bandwidth : la bande passante de la connexion : cela mesure le flux de données échangées entre les serveurs de SL et le PC. Ce nombre bouge souvent car des données sont souvent échangées.
Si ce nombre tombe à 0, il y a un soucis, car SL ne communique plus avec le PC.

Packet loss : les données échangées avec SL et perdues dans la spirale obscure du net. Il vaut mieux que ce nombre reste à zéro. Si le nombre dépasse les 10%, c'est très mauvais signe. Cela signifie qu'il faut au viewer SL redemander les données perdues, ce qui donne l'impression que tout est lent, que ca lag beaucoup. On peut aussi avoir une impression de décalage, surtout en combat C:SI.

Ping Sim : le temps de réponse du serveur correspondant à la sim où on se trouve, à une demande de notre PC. C'est aussi le temps que met un paquet de données pour aller du PC au serveur de la sim, et réciproquement.
En C:SI, c'est une des valeurs fondamentales.
En France, au mieux, le ping est de 150 si on a une très (très) bonne connexion et sur une Sim très (très) fluide . Mais pour les Etats Unis ou le Japon, cela peut descendre en-dessous de 50. En C:SI, cela signifie qu'on ne pourra jamais lutter contre des gens qui ont 30 de ping. On ne voit même pas leur stun. Ils sont d'une rapidité inouie, et on perd des spars contre des débutants meme si on a soi même 2 ans de pratique assidue de C:SI. Pour eux, nul besoin de technique. C'est un peu comme si je me combattais avec une baguette de bois de 1m de long contre quelqu'un armé d'un vrai katana. Je dois alors avoir une technique exceptionnelle pour le vaincre, là où lui se suffit de donner des coups au hasard autour de lui. Il est sur de finir par me toucher là où moi je dois déployer des ressources énormes juste une petite touche.
Beaucoup de paramètres altèrent le ping Sim :
  • le nombre de personnes sur la sim
  • la qualité de ma connexion internet tant en débit qu'en temps de temps de réponse de mon point d'accès sur le Net.


Je passe pour le moment sur les paramètres avancés. Nous les verrons lors d'un prochain post sur ce blog.
Continuons avec :



Simulateur


Time Dilatation : c'est le paramètre le plus difficile à décrire.
Une Sim est un serveur. Ce serveur gère tout ce qui se trouve sur une Sim, aussi bien les objets que les scripts. Si il y a beaucoup de scripts en exécution simultanément, le Simulateur (et oui Sim veut dire simulateur) a du mal à tout gérer en même temps. Hors, il doit le faire !
Alors comment se débrouille-t-il ? Il va élargir le temps, comme si une seconde de temps durait 1,5 seconde. Si je vivais réellement sur SL, je ne percevrais pas ce changement de durée de la seconde, et pour moi, une seconde serait toujours une seconde. Mais, je suis extérieur à la sim : le viewer SL est une fenêtre sur la Sim. Donc je perçois cet allongement du temps, cette dilatation temporelle. Un peu comme dans matrix, où par moment le temps s'immobilise.
Le Simulateur cherche à ce qu'il y ait 45 FPS sur la sim de manière constante. Quand il n'a pas le temps de le faire, il dilate le temps pour rattraper son retard, pour avoir plus de temps pour travailler. Et nous avons l'impression d'un ralentissement.

Voyons un peu différentes valeurs de la dilatation :
  • 1.0 : pas de dilatation. 1sec RL = 1sec SL
  • 0.99 : un tout petit peu de dilatation, mais à peine perceptible. A ce stade, même en C:SI, on ne perçoit pas la dilatation
  • 0.98 : la dilatation devient perceptible, mais ne gène pas trop le spar.
  • 0.96 : la dilatation commence à gêner le spar : sensation de lenteur, de coups qui partent en retard, impression d'aléatoire dans le spar, etc...
  • 0.90 : limite au-delà de laquelle on arrête de sparer car la dilatation empêche de réagir correctement aux actions de son adversaire.
  • 0.80 : on a du mal à se deplacer, impression d'avoir du chewing gum sous les chaussures
  • 0.50 : lenteur extrème
  • 0.30 : à partir de cette valeur, on est comme paralysé, on bouge parfois, mais..... il nous faut bien 1 minute pour faire 10 m.
  • 0.10 : Arrêt du temps : tout SL se fige en un éternel présent.

Ces valeurs sont subjectives, bien sure, mais elles rendent compte de ma perception de la dilatation temporelle.
Certains objets scriptés de SL l'utilisent pour mesure le lag. Ainsi :
  • 0.96 : 4% de lag
  • 0.90 : 10% de lag
  • 0.80 : 20% de lag...
On pourrait se dire que 4% c'est peu, mais essayer de combattre C:SI dans ces conditions !
Il vaudrait mieux utiliser une échelle logarithmique pour convertir la dilatation en % de lag !


Sim FPS : les Frames par secondes calculées par le simulateur. Ce chiffre est de 45. Si le simulateur descends en dessous de 45, cela engendre de la dilatation.

Physics FPS : lee FPS du serveur qui héberge la Sim.


Physics Details


Agents Updates/sec : le nombre de mise à jour par seconde des Agents présents sur la sim. Les avatars sont des agents.

Main Agents : le nombre d'agents présents sur la sim.

Child Agent : le nombre d'agent qui ne sont pas sur la sim, mais qui peuvent la voir. Par exemple en étant sur une sim adjacente. Si la sim est isolée, ce nombre reste fixe à zéro.

Objects : le nombre de prims présents sur la sim. Ce nombre ne comprend pas les prims des objets qu'un avatar portent sur lui en attachement.

Active Objets : le nombre de prims qui contiennent un script actif parmi les objets de la sim. Cela n'inclut donc pas les objets scriptés que l'on peut porter sur soi.

Active Scripts : le nombre de scripts actifs sur la sim, cette fois-ci en incluant les scripts que l'on porte sur soi.
Ainsi, dès que 5 samouraïs portent leur katana, ce nombre a un fâcheuse tendance à devenir énorme !!
Raison pour laquelle lors d'un event, on demande que seul les gens qui combattent portent leur katana.
Car plus il y a de scripts actifs, plus le simulateur a du boulot, et donc plus la dilatation augmente. Donc le lag...


Script Events : Le nombre d'évènements (un script attend qu'un évènement se produise pour y apporter une réaction) traité par le simulateur au cours de la dernière seconde (eps : Events per second).
Plus ce nombre est élevé, plus le simulateur a du travail pour accomplir les actions décrites par les scripts.


Packets In : Les données voyagent de SL à notre PC et vice versa (ou entre les différents serveurs qui composent SL), encapsulées dans des petits paquets. Ici, nombre de paquets reçu par le simulateur.


Packets Out : paquets émis par le simulateur.


Pending Downloads : nombre de téléchargements actifs que le simulateur a en attente. Exemple, je veux lire une notecard de mon inventaire : la notecard est demandée par le simulateur au serveur Asset, qui lui envoie et finalement le simulateur nous la transmet. Autre exemple : je rez un objet. Le simulateur fait la demande de l'objet au serveur Asset qui lui envoie l'objet. Une fois reçu, le simulateur peut alors faire apparaitre l'objet, calculé son rendu, en afficher les textures...
Si ce nombre est supérieur à un, cela veut dire qu'il y a une belle file d'attente et que le rez d'un objet va prendre du temps, et que la notecard n'apparaitra pas pas instantément à l'écran.



Pending Uploads : C'est le même mais dans l'autre sens. Si ce nombre est différent de zéro, cela indique par exemple, qu'il y aura quelques petites difficultés à se téléporter.



Total Unacked Bytes : le nombre de données en attente d'un accusé réception (ACK). Un nombre important signifie un problème de communication entre le viewer SL et la sim. C'est quoi cette histoire de ACK ?
Chaque fois que des données transitent entre SL et le PC, il y a un accusé réception (ACK) entre les deux parties, pour s'assurer que le transfert s'est effectué sans problème.
Exemple (fictif et non sérieux, on s'en doute, mais qui illustre le propos)

Moi : dis SL, tu me donnes un tisstool s'il vous plait (toute ressemblance avec un bonbon serait bien évidemment fortuite)
SL : ACK - j'ai bien reçu la demande
SL : je me prépare envoyer le tisstool, le Asset vient de me donner enfin ça.... pfff, ça lag ce soir
SL : es-tu prêt à recevoir le tisstool ?
....pas de réponse....
SL : es-tu prêt à recevoir le tisstool ?
....pas de réponse....
SL : es-tu prêt à recevoir le tisstool ?
Moi : ACK - oki envoie ^^
SL : c'est parti !!
.... tisstool en transit, se dématérialise de SL pour arriver sur mon pc. On se croirait dans Star Trek.
Moi : ACK - j'ai reçu, merci pour le tisstool !!
Moi : Brrrrrrrrrr !!



Voilà, j'espère que, après ces quelques lignes, vous comprendrez mieux les infos lisibles sur la fenêtre de statistiques de SL. Ça sert surtout à identifier le lag (bon, je sais quand ca lag, pas besoin de ça pour le savoir) et comprendre sa source.
J'espère ne pas avoir trop fait d'erreurs en les rédigeant. Si jamais vous en voyez, vite !!!! un post et je corrige !!!

La suite au prochain épisode...

2 commentaires:

Anonyme a dit…

toujour exceptionellement claire.
merci
Rob

Deirdre a dit…

Merci Rob, cela me fait plaisir. J'ai eu du mal a trouver le temps de finir ce post, et je vous en prépare un nouveau avec une idée qui m'est venue en le faisant : un petit lag meter à scripter.
A lire donc prochainement...
Pas forcément le suivant mais un prochain ^^