Aller au contenu

« Réunion du 30-09-2025 » : différence entre les versions

De OSWiki
Ligne 74 : Ligne 74 :
== Carte ==
== Carte ==
=== Mise à jour des tuiles de carte ===
=== Mise à jour des tuiles de carte ===
==== Question ====
* Pourquoi la mise à jour des tuiles de cartes ne se fait pas toujours ?
* Pourquoi la mise à jour des tuiles de cartes ne se fait pas toujours ?
* 🏗️
==== Réponses ====
* La manière dont le serveur Robust gère les tuiles lorsqu'il les reçoit repose en grande partie sur des suppositions selon lesquelles il ne recevra pas de données supplémentaires pendant qu'il est en train de les générer.
* De plus, la mini-carte et la carte du monde sont mises en cache dans le viewer, il faut un certain temps avant qu'elle n'essaie d'en récupérer de nouvelles. Redémarrer le viewer résoudra ce problème.
* Même avec le nouveau système que Vincent Sylvester teste depuis des mois , certaines tuiles n'apparaissent toujours pas ([[Réunion_du_05-11-2024#Génération_des_tuiles_d'une_grille | voir ici]] [[Réunion_du_02-09-2025#Rendu_de_carte | et ici]]). Il  ne comprend pas vraiment pourquoi, car le nouveau système est censé attendre un certain temps avant d'essayer d'analyser les données. Il soupçonne qu'il y aurait un problème avec la mise en cache des fichiers [[Lexique_des_réunions#dotnet |dotnet].
 
=== Exportation : conservation des détails ===
=== Exportation : conservation des détails ===
* L'exportation de la carte d'altitude conserve-t-elle la même profondeur de bits que le fichier TIFF importé ?
* L'exportation de la carte d'altitude conserve-t-elle la même profondeur de bits que le fichier TIFF importé ?

Version du 26 octobre 2025 à 17:54

Changements du code de la semaine

Sauvegarde des modifications des objets

Commit

  • Commit 02249b : Réduction des sauvegardes inutiles des primitives des inventaires.
  • Changement en rapport avec ce qui a été discuté la semaine précédente.
  • Ubit Umarov explique qu'auparavant, l'inventaire des prims avait un indicateur permettant de sauter la sauvegarde si aucune modification n'était faite. Cet indicateur a dû être désactivé car, dans certains cas, une sauvegarde nécessaire n'avait jamais lieu. Dans ce commit, il a essayé de couvrir ces cas et il a laissé l'indicateur fonctionner à nouveau.

Configuration conseillée

  • Configuration dans OpenSim.ini : Ubit Umarov conseille de définir MinimumTimeBeforePersistenceConsidered à une valeur la plus élevé possible. Gavin Hird conseille de régler le paramètre à une valeur assez haute pour les simulateurs peu sollicité et plus basse pour les simulateurs très sollicités.
;; Valeurs par défaut
MinimumTimeBeforePersistenceConsidered = 10
MaximumTimeBeforePersistenceConsidered = 100
  • Au lieu de s'appuyer sur l'utilisation de ces paramètres, Vincent Sylvester préfère se concentrer sur les causes sous-jacentes pour une solution plus bénéfique pour tous, y compris pour les utilisateurs peu familiarisés avec la configuration.
  • Une valeur élevée pour MinimumTimeBeforePersistenceConsidered pourrait également impacter la suppression des objets temporaires et la sauvegarde des modifications lors de l'arrêt du simulateur, ce qui pourrait entraîner la perte de certaines modifications.

Tests

  • Vincent Sylvester a passé plus de temps à rechercher les cause du problème en exécutant environ 20 minutes de journaux d'audit SQL pour comprendre exactement ce qui provoquait les sauvegardes intempestives de primitives non modifiées dans l'inventaire.
  • Certaines boules dansantes réinitialisaient en permanence son script contenant llTargeOmega ainsi que le système de particules, et un objet sur une région de la grille était constamment signalé comme étant modifié, même si rien n'avait réellement changé.
  • Il a intégré des modifications de type if(changed) dans la propriété HasGroupChanged, afin de vérifier si un objet a réellement été modifié. Un code de déduplication pour la table Primitems a également été inclus.
  • De nouveaux tests sont prévus, avec l'espoir d'obtenir des résultats similaires à ceux de la semaine précédente. D'ici jeudi, des données devraient être disponibles pour analyse. Si tout se passe bien, Vincent Sylvester pense que ce sera la voie à suivre.

Bilan et problème

  • Cela va offrir une amélioration significative pour les grandes grilles actives, et peut apporter une légère amélioration pour les grilles moins actives.
  • D'après Ubit Umarov , l'enregistrement des objets liés est très basique. Tout ce qui compose l'objet lié est enregistré à la moindre modification. Donc même une petite modification sur une primitive forcera une sauvegarde complète de l'objet.
  • Il faut noter qu'il existe une limite de 1 000 éléments au total dans tous les inventaires des prims d'un objet lié. (NDRL : mais j'ai peut-être mal compris, car ce n'était pas très clair.)
  • Vincent Sylvester signale que le problème critique est que certaines fonctions LSL, chargées de définir les paramètres des prims, ne comportent pas de vérifications pour savoir si les paramètres sont déjà configurés de la même manière. Cela entraîne une réinitialisation répétée des mêmes valeurs, ce qui marque tout l'objet lié comme modifié. Bien que certaines fonctions aient cette vérification, ce n'est pas le cas pour toutes.

Avertissement

Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉


Bibliothèques

BulletSim

  • Cuga Rajal n'a pas encore pu joindre MrBlue à propos de Bullet.
  • Ubit Umarov attend toujours le retour de Cugoa Rajal.
  • 🏗️

Scripts

LlModifyLand

Fonction

Fonction: llModifyLand( integer action, integer brosse );
Modifie le terrain en appliquant l’action avec la taille de brosse indiquée

Code dans OpenSim

  • Dans /OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
# Ligne 1433
 [MethodImpl(MethodImplOptions.AggressiveInlining)]
 public void llModifyLand(int action, int brush)
 {
      m_LSL_Functions.llModifyLand(action, brush);
 }
  • Dans /OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
# Ligne 332
   public const int LAND_LEVEL = 0;
   public const int LAND_RAISE = 1;
   public const int LAND_LOWER = 2;
   public const int LAND_SMOOTH = 3;
   public const int LAND_NOISE = 4;
   public const int LAND_REVERT = 5;
   public const int LAND_SMALL_BRUSH = 1;
   public const int LAND_MEDIUM_BRUSH = 2;
   public const int LAND_LARGE_BRUSH = 3;

Signalement du bug

 llModifyLand(LAND_LEVEL,0); # brosse de 2m * 2m    
 llModifyLand(LAND_LEVEL,1); # brosse de 4m * 4m    
 llModifyLand(LAND_LEVEL,2); # brosse de 8m * 8m

Modules

Carte

Mise à jour des tuiles de carte

Question

  • Pourquoi la mise à jour des tuiles de cartes ne se fait pas toujours ?

Réponses

  • La manière dont le serveur Robust gère les tuiles lorsqu'il les reçoit repose en grande partie sur des suppositions selon lesquelles il ne recevra pas de données supplémentaires pendant qu'il est en train de les générer.
  • De plus, la mini-carte et la carte du monde sont mises en cache dans le viewer, il faut un certain temps avant qu'elle n'essaie d'en récupérer de nouvelles. Redémarrer le viewer résoudra ce problème.
  • Même avec le nouveau système que Vincent Sylvester teste depuis des mois , certaines tuiles n'apparaissent toujours pas ( voir ici et ici). Il ne comprend pas vraiment pourquoi, car le nouveau système est censé attendre un certain temps avant d'essayer d'analyser les données. Il soupçonne qu'il y aurait un problème avec la mise en cache des fichiers [[Lexique_des_réunions#dotnet |dotnet].

Exportation : conservation des détails

  • L'exportation de la carte d'altitude conserve-t-elle la même profondeur de bits que le fichier TIFF importé ?
  • 🏗️

Informations

Conseils de terraformation

  • 🏗️

Séance de questions-réponses avec Phillip Rosedale

  • Sujet : nouveaux serveurs vocaux WebRTC de SL
  • Date : 1er octobre à 13 h (heure du Pacifique)
  • 🏗️

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2025-09-30