Optimiser le contenu

Voici quelques informations et conseils pour accélérer les transferts.

Une région est assimilable à une page web. Si on va sur la page d'un site web qui contient des images énormes en taille (plusieurs méga octets), la page met plus de temps à se charger et ce principe est le même sur les régions OpenSimulator.

Les inventaires

Quand on ouvre son inventaire, celui ci est téléchargé depuis les serveurs. Si on a un inventaire avec 10 000 objets, il charge donc plus vite que 50 000 objets.

Les assets

Les assets sont stockés sur le serveur de FrancoGrid.

Les assets sont les texures, meshes, primitives, scripts, gestures etc...

Si on supprime un element de son inventaire, il disparait des serveurs mais pas les assets qui vont avec.

Par exemple, si on a une texure nommée toto et qu'on la supprime de l'inventaire, le serveur supprime l'info comme quoi on a une texure toto mais il ne supprime pas la texture en elle même.

Techniquement, les assets ne sont jamais supprimés donc la taille sur le disque dur du serveur augmente en permanence. Depuis 2013, nous utilisons un systeme de "déduplication" ce qui veut dire que deux assets strictement identiques ne sont pas dédoublés (c'est déjà ça).

Les assets ne sont pas supprimés déjà car ce n'est pas inclus dans OpenSimulator car on ne peut jamais savoir si un asset sera de nouveau nécéssaire.

Par exemple: des assets sont nécéssaires sur une région. Cette région passe hors ligne quelques heures ou jours et si on regarde quels sont les assets qui ne sont pas utilisés sur une région (déjà impossible), il suffit qu'on le supprime pour que lorsque la région revient en ligne les assets ne soient plus disponibles....

On pourrait se dire qu'on supprime tous les assets non utilisés depuis une certaine date mais les avatars qui ne sont pas venus depuis longtemps seraient bien déçus à leur retour...

Une solution serait de dire que tous les tant de temps on demande aux gens de générer des iar et oar puis on repart de zero mais pareil, si certaines personnes ratent le coche, ils perdent tout.

Donc voici quelques conseils pour optimiser la taille des assets afin d'accélérer les transferts et faire plaisir au disque dur de l'asso.

Les textures

Essayer d'optimiser la taille de ses textures.

A t on vraiment besoin d'une texture de 1024 pixels de coté pour afficher sur un objet tout petit ou qui contient tres peu de couleurs ?

Penser à compresser ses textures et choisir des formats de compression sans perte afin de réduire la taille d'un fichier (souvent, une image qui fait plusieurs mégas passe tres bien à quelques centaines de megas voire dizaines avec la bonne compression).

Les screenshots

Nous vous proposons de faire plutot des screenshots à partir de votre systeme d'exploitation puis de le partager par un site web comme framapic ou autre...

Si vous prenez un screenshot inworld, celui ci est envoyé au serveur d'assets et restera stocké ad vitam eternam alors qu'il servira qu'une fois (souvent du genre : "oh regarde, t'as pas de cheveux... lol :)" )

Les meshes

Penser à réduire la taille des meshes en changeant le nombre de vertices (utiliser par exemple le modifier "decimate" de blender).

Regarder aussi si il y a des sommets en double.

Comme pour les images, a t on vraiment besoin d'un mesh avec 600000 sommets pour afficher un objet minuscule qui ne sera pas forcément zoomé donc penser "low poly" et optimiser les textures qui vont avec pour donner un effet de profondeur avec la texture plutot que le mesh en lui meme.

Les gros chantiers

Ce qui peut etre pas mal quand on veut faire un gros chantier, c'est de : soit aller s'entrainer sur une autre grille (pas gentil), soit bosser sur une standalone puis passer par un oar / iar une fois le boulot terminé. Ceci afin d'éviter de remplir le serveur d'assets avec des essais du genre : ah la texure n'est pas belle, ou le mesh le fait pas, j'en uploade un autre... et ceci 30 fois et le 30e est le bon (sauf que les 29 autres se retrouvent sur le serveur et ne serviront plus jamais).

Résumé

Ceci dit, ce sont des conseils de bonnes pratiques mais l'asso essaie de faire en sorte de pouvoir fournir les serveurs nécéssaires (donc si le serveur d'assets devient trop gros, il faudra trouver d'autres adhérents pour pouvoir payer un serveur plus cher). Ca va, on n'en n'est pas encore là :)