Question concernant les Varregions sous OpenSim

Répondre
Partager Rechercher
Bonjour,

Je teste depuis quelques semaines la mise en place d'une région en 4096x4096 sous OpenSim.
Je poste à tout hasard mes questions ici en esperant que quelqu'un puisse me donner quelques précisions.

J'ai deux questions concernant cette VarRegion de 4096 sous OpenSim.

1. Est il normal que le Viewer soit plus lent avec une varregion particulièrement lorsque mon personnage se tourne vers l'intérieur du terrain et donc les reliefs ? J'ai pourtant une très belle configuration..

2. Est il possible d'éventuellement diviser le varregion en morceaux de 256x256 pour revenir à une configuration plus classique ?
Je sais que pour le terrain il n'y a aucun problème, mais qu'en est il pour les objets du terrain ?

Merci
kosmo

OpenSim 0.9.x compilé sur un VPS sous Debian Linux / Mono 4.x
Singularity/Firestorm x64 dernière version tournant sur Core i7 / 16Go / SSD / Radeon R9 270x
Bonjour kosmo

Pour répondre à ta première question, oui, c'est normal. Une région de 4096 mètres de côté utilise énormément de ressources. Ça correspond tout de même à la surface de 256 régions et sur un VPS les ralentissements seront bien plus sensibles que sur un dédié. Les devs conseillent d'utiliser des régions qui ne dépassent pas 1024 x1024 mètres (16 régions standard), la taille idéale semblant être 728x728 mètres (9 régions standard).

Il y a tout de même quelques possibilités d’améliorer les performances en éditant le fichier OpenSim.ini

Dans la section [Terrain], ajouter :
SendTerrainUpdatesByViewDistance = true

(il me semble que ce réglage est désormais activé par défaut dans le fichier OpenSimDefault.ini. A vérifier)

Dans la section [ClientStack.LindenUDP], ajouter :
async_packet_handling = true
client_socket_rcvbuf_size = 8388608
scene_throttle_max_bps = 20000000
client_throttle_max_bps = 20000000
enable_adaptive_throttles = true
CannibalizeTextureRate = 0.8

Concernant la seconde question, plutôt que d'assembler des régions de 256x256, fais-le avec des régions de 768x768 ou 1024x1024 sachant que si les régions sont sur le même serveur les passages de frontières seront très peu sensibles (je ne sais pas ce que ça vaut sur un VPS mais c'est le cas sur un dédié).

Si tu as des objets déjà en place sur ta région de 4096 mètres de côté, il devrait y avoir des soucis concernant ceux qui auront des coordonnées plus importantes que les limites de tes nouvelles régions. Dans ce cas, le mieux est de faire des sauvegardes de tes constructions dans ton inventaire ou sous forme de fichier iar et de les replacer à ta convenance sur tes varregions plus petites.

Par ailleurs, s'il est possible de charger plusieurs fichiers OAR de régions de 256x256 sur une Varregion, je ne suis pas certain qu'il existe une commande qui permette de sauvegarder une varregion en plusieurs parties pour les replacer sur plusieurs varregions plus petites.

Dernière modification par Kyle Brynner ; 23/08/2016 à 13h13.
Suite à ma première réponse, au dessus…

Il se trouve que le sujet de la conversion d’une varregion vers un ensemble de régions standard ou de varregion plus petites a été abordé ce matin sur le canal irc #osgrid. Pour le coup, j’ai pu récupéré le lien vers la page des nouvelles commandes OAR pour la version 0.9: http://opensimulator.org/wiki/Load_O...B#Example_Uses. Avec cette version d’Opensim, il y a effectivement des paramètres que l'on peut ajouter à la commande load oar qui permettent de replacer des morceaux d’une varregion sauvegardée sur un ensemble de régions standard ou de varregion plus petites.

Il s’agit des paramètres --bounding-origin et --bounding-size accompagnés de leurs coordonnées x, y et z. Le premier paramètre concerne la position du coin Sud-Ouest du morceau sur lequel on agit et le second concerne la taille, la bounding-box, de ce morceau.

Par exemple, imaginons que tu souhaites convertir la surface de ta varregion d’origine 4096x4096 en un ensemble de 16 régions 1024x1024. Il te faudra donc une sauvegarde OAR de ta varregion (ex: ma_varregion.oar) et avoir lancé ton nouveau monde avec les 16 régions vierges 1024x1024 juxtaposées puis charger, morceau par morceau, le fichier OAR. On peut commencer par le morceau 1024x1024 du coin Sud-Ouest :
Citation :
load oar --bounding-origin <0,0,0> --bounding-size <1024,1024,4096> ma_varregion.oar
Si on continue avec le morceau qui suit à droite :
Citation :
load oar --bounding-origin <1024,0,0> --bounding-size <1024,1024,4096> ma_varregion.oar
le suivant :
Citation :
load oar --bounding-origin <2048,0,0> --bounding-size <1024,1024,4096> ma_varregion.oar
etc…

Pour celui au dessus du premier morceau :
Citation :
load oar --bounding-origin <0,1024,0> --bounding-size <1024,1024,4096> ma_varregion.oar
le suivant à droite :
Citation :
load oar --bounding-origin <1024,1024,0> --bounding-size <1024,1024,4096> ma_varregion.oar
etc…

Pour revenir sur le sujet des performances, il est généralement conseillé d’avoir au moins 2 Go de mémoire disponible pour une région jusqu’à 15000 prims avec un usage modéré des scripts ainsi qu'un CPU capable d’encaisser les pics lors des connexion/déconnexions des avatars (entre autres). Ton VPS devra donc être taillé en conséquence. Pour info, en plus de ma grille, je m’occupe d’une grille qui compte 23 régions standard et dont certaines ont très peu de scripts et de builds (bon, ok, d’autres en ont un paquet, héhé), mais tout ça utilise déjà entre 50 et 58% des 35 Go de mémoire du serveur dédié.

Il peut y avoir également un souci avec ta version de Mono. La version 4.4.0.182 semble encore poser problème avec opensim 0.9 qui utilise jusqu'à trois fois plus de CPU par rapport à mono 4.2.3.4.

Dernière modification par Kyle Brynner ; 23/08/2016 à 19h25.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés