« Réunion du 08-02-2022 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
 
(35 versions intermédiaires par le même utilisateur non affichées)
Ligne 83 : Ligne 83 :


= Les metavers =
= Les metavers =
* Ndlr : je voulais mettre des liens, mais après réflexion, je n'ai pas à faire de la pub pour ces gens là.
* Ndlr : je voulais mettre des liens, mais après mure réflexion ... pas de pub.
 
<pre>
<pre>
[11:17] Misterblue Waves : SL s'égare dans sa propre direction, et, avec de nouveaux consultants (<clin d'œil//>) ils pourraient changer beaucoup de choses.
[11:17] Misterblue Waves : SL s'égare dans sa propre direction, et, avec de nouveaux consultants (<clin d'œil//>) ils pourraient changer beaucoup de choses.
Ligne 104 : Ligne 103 :


= Système LOD =
= Système LOD =
* LOD = Level Of Detail : Le "niveau de détail" du LOD fait référence à la quantité de détails d'un objet que le viewer rendra. Un facteur LOD plus élevé signifie que le viewer montrera l'objet avec plus de détails qu'un facteur inférieur. Un petit objet rendu à un LOD inférieur sera représenté par une forme plus simple ; un LOD supérieur sera rendu de manière plus précise. Comme nous l'avons déjà mentionné, le rendu d'un objet complexe demande plus de travail que celui d'un objet plus simple, et plus le LOD requis pour le rendre correctement est élevé, plus votre ordinateur et votre carte graphique doivent travailler dur. S'il y a beaucoup d'objets avec un LOD élevé dans une scène, votre ordinateur va ralentir. Le viewer gère cela en déterminant le LOD requis en fonction, notamment, de la distance qui vous sépare de l'objet. Un petit objet complexe situé à 20 mètres peut être rendu avec un LOD inférieur, et vous ne remarquerez jamais la différence, car il ne prend pas assez de place sur votre écran pour afficher tous ces détails. Si vous vous rapprochez (ou si vous approchez la caméra), le LOD augmentera parce que l'objet semble plus grand, et les détails deviendront visibles.
**[https://www.firestormviewer.org/lod-and-the-upcoming-firestorm-release-the-what-and-why/ Informations en anglais sur le site de Firestorm]
**[https://beqsother.blogspot.com/2018/01/for-lods-sake-stop.html Blog technique de Beq : Pour l'amour de LOD, arrêtez !](en)
* [https://fr.wikipedia.org/wiki/GlTF glTF] : format de fichier scènes et modèles 3D utilisant le format JSON. 
* [https://threejs.org/examples/?q=Bounding%20box#webgl_helpers Exemple pour "Boîte de délimitation" (Bounding box)]
* [[ https://www.blender.org/ |Blender]](en) :  logiciel libre de modélisation
* Décimation (Decimate), exemple d'utilisation dans Blender : https://docs.blender.org/manual/fr/dev/modeling/modifiers/generate/decimate.html
* [https://cesium.com/blog/2015/08/10/introducing-3d-tiles/ Cesium's 3D Tiles] : Cesium est une plateforme 3D permettant de visualiser des globes, de chaque satellite dans l'espace à chaque immeuble de Manhattan en passant par chaque cratère sur Mars.
* [https://www.youtube.com/watch?v=JLUzi3y_uvM Quelle est la qualité de la nanite dans Unreal Engine 5 ?(Vidéo Youtube en anglais)]
* Nanite dans Unreal engin  :  principale caractéristique du moteur de jeu, permet d'importer dans les jeux des sources photographiques très détaillées et presque toute autre représentation tridimensionnelle préexistante d'objets et d'environnements. Nanite gère automatiquement les niveaux de détail (LOD) de ces objets.
<pre>
<pre>
[11:20] Misterblue Waves : quelqu'un travaille avec un système LOD ?
[11:20] Misterblue Waves : quelqu'un travaille avec un système LOD ?
[11:20] Misterblue Waves : Je me demande comment il est normalement mis en œuvre
[11:20] Misterblue Waves : Je me demande comment il est normalement mis en œuvre
[11:21] Ubit Umarov : LOD comme niveau de détail ?
[11:21] Ubit Umarov : LOD comme niveau de détail ?
[11:21] Misterblue Waves: oui
[11:21] Misterblue Waves: oui
[11:21] Ubit Umarov : c'est un peu un truc du côté des viewers.
[11:21] Ubit Umarov : c'est un peu un truc du côté des viewers.
Ligne 115 : Ligne 126 :
[11:22] Misterblue Waves : Je travaille sur la conversion du contenu OS en GLTF et ensuite sur l'auto LODing dans des segments de régions à plus faible résolution.
[11:22] Misterblue Waves : Je travaille sur la conversion du contenu OS en GLTF et ensuite sur l'auto LODing dans des segments de régions à plus faible résolution.
[11:22] Ubit Umarov : et sur des meshes énormes aussi.
[11:22] Ubit Umarov : et sur des meshes énormes aussi.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : La distance de la boîte englobante par rapport à la caméra ou peut-être même au centre de l'objet, puis... euh, c'était quoi 30 mètres pour le premier niveau, 90 et enfin 256, quelque chose comme ça ?
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : La distance de boîte de délimitation par rapport à la caméra ou peut-être même au centre de l'objet, puis... euh, c'était quoi 30 mètres pour le premier niveau, 90 et enfin 256, quelque chose comme ça ?
[11:22] Misterblue Waves : Il y a beaucoup de techniques de décimation sur le marché alors je me suis dit que j'allais les utiliser.
[11:22] Misterblue Waves : Il y a beaucoup de techniques de décimation sur le marché alors je me suis dit que j'allais les utiliser.
[11:23] Ubit Umarov : fs montre les points de transition par maille maintenant.
[11:23] Ubit Umarov : fs montre les points de transition par maille maintenant.
Ligne 137 : Ligne 148 :
</pre>
</pre>


=Nouvelles dans OpenSim =
=Nouvelles dans le code  OpenSim =
* [https://fr.wikipedia.org/wiki/Docker_(logiciel) Docker]:  outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur.
* [https://github.com/Misterblue/opensim-docker Projet Opensim-Docker de Misterblue Waves]
* Option OutboundPermission :  dans StandaloneCommon.ini ou GridCommon.ini  dans la section [HGInventoryAccessModule]
* [https://fr.wikipedia.org/wiki/Architecture_ARM Architecture ARM]
<pre>
<pre>
[11:30] Ubit Umarov : alors quelles sont les nouvelles ?
[11:30] Ubit Umarov : alors quelles sont les nouvelles ?
[11:32] Misterblue Waves : J'ai mis à jour mon projet opensim-docker (https://github.com/Misterblue/opensim-docker)
[11:32] Ubit Umarov : merci misterblue
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les changements récents dans les flags d'inventaire ont fait disparaître un peu d'inventaire pour les gens, évidemment le transfert de HG sans permissions d'exportation est arrivé assez souvent, donc c'était amusant.
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les changements récents dans les flags d'inventaire ont fait disparaître un peu d'inventaire pour les gens, évidemment le transfert de HG sans permissions d'exportation est arrivé assez souvent, donc c'était amusant.
[11:32] Ubit Umarov : quel changement de flags d'inventaire ?
[11:32] Ubit Umarov : quel changement de flags d'inventaire ?
[11:32] Misterblue Waves : J'ai mis à jour mon projet opensim-docker (https://github.com/Misterblue/opensim-docker)
[11:32] Ubit Umarov : merci misterblue
[11:32] Ubit Umarov : je ne me rappelle pas avoir changé les flags d'inventaire.  
[11:32] Ubit Umarov : je ne me rappelle pas avoir changé les flags d'inventaire.  
[11:33] Kayaker Magic : Ouais, c'est quelque chose que tu as fait Vincent ?
[11:33] Kayaker Magic : Ouais, c'est quelque chose que tu as fait Vincent ?
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le truc au sujet des permissions d'exportation de cette mantis, après cela les gens ont commencé à se plaindre de pertes dans les inventaires, je ne sais toujours pas exactement comment cela est lié.
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le truc au sujet des permissions d'exportation de cette mantis, après cela les gens ont commencé à se plaindre de pertes dans les inventaires, je ne sais toujours pas exactement comment cela est lié.
[11:33] Ubit Umarov : ne pas oublier d'autoriser les exportations de landmarks lorsque les autres sont bloqués.
[11:33] Ubit Umarov : ne pas oublier d'autoriser les exportations de landmarks lorsque les autres sont bloqués.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je sais seulement que je n'ai pas trouvé les objets dans les assets donc, ils n'ont pas dû être transférés. Mais, ils étaient dans l'inventaire de l'utilisateur... je ne sais pas comment c'est possible, ma meilleure réponse serait que c'est au cache.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je sais seulement que je n'ai pas trouvé les objets dans les assets donc, ils n'ont pas dû être transférés. Mais, ils étaient dans l'inventaire de l'utilisateur... je ne sais pas comment c'est possible, ma meilleure réponse serait que c'est au cache.
[11:34] Ubit Umarov : non, je ne pense pas que le code ait changé quoi que ce soit, mais il faut régler le problème et laisser les landmarks passer.
[11:34] Ubit Umarov : non, je ne pense pas que le code ait changé quoi que ce soit, mais il faut régler le problème et laisser les landmarks passer.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mise à jour du binaire supprimant le cache, feux d'artifice
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mise à jour du binaire supprimant le cache, feux d'artifice
Ligne 157 : Ligne 172 :
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les autres changements sont principalement cosmétiques, du code de refactoring et quelque chose sur le support des puces ARM.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les autres changements sont principalement cosmétiques, du code de refactoring et quelque chose sur le support des puces ARM.
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelques corrections pour le domaine (Estate) également
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelques corrections pour le domaine (Estate) également
</pre>
= Compatibilité et compilation =
* [https://gl.developpez.com/tutoriel/outil/makefile/ Makefile] fichiers utilisés par le programme make pour exécuter un ensemble d'actions, comme la compilation d'un projet, l'archivage de document, la mise à jour de site, etc.
* AArch64 ou ARM64 est l'extension 64 bits de l'architecture ARM. Elle a été introduite pour la première fois avec l'architecture [https://fr.wikipedia.org/wiki/ARMv8 ARMv8-A.]
* [https://fr.wikipedia.org/wiki/Bullet_(moteur_physique) Bullet] :  moteur physique simulant la détection de collisions ainsi que la mécanique des corps rigides et déformables. Licence ZLib libre.
* [https://www.openjpeg.org/ OpenJep : codec JPEG 2000 open-source écrit en C.]
* [https://fr.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] :  nano-ordinateur monocarte à processeur ARM de la taille d'une carte de crédit créé  afin de démocratiser l'accès aux ordinateurs.
* [https://www.raspbian.org/ Raspbian est un système d'exploitation libre basé sur Debian et optimisé pour le matériel Raspberry Pi.]
* [https://fr.wikipedia.org/wiki/Mono_(logiciel) Mono] :  mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.
* [https://fr.wikipedia.org/wiki/Microsoft_.NET .NET]
* Prebuild.exe : fichier dans le dossier bin de OpenSimulator.
* [https://stackoverflow.com/questions/6446361/what-does-the-csproj-file-do fichier .csproj] : en langage C# (C Sharp), langage de programmation de OpenSimulator,  le fichier .csproj contient la liste des fichiers du projet, ainsi que les références aux assemblies du système, etc.
* sln : Un fichier SLN est un fichier de structure utilisé pour organiser des projets dans Microsoft Visual Studio. Il contient des informations textuelles sur l’environnement et l’état du projet.
* [https://fr.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2017 Visual Studio 2017 (vs2017)] :
<pre>
[11:38] Ubit Umarov : oui, nous avons reçu une contribution pour modifier les makefiles afin de permettre la compilation de certaines librairies non gérées pour aarch64.
[11:38] Ubit Umarov : oui, nous avons reçu une contribution pour modifier les makefiles afin de permettre la compilation de certaines librairies non gérées pour aarch64.
[11:38] Ubit Umarov : y compris celles déjà compilées.
[11:38] Ubit Umarov : y compris celles déjà compilées.
Ligne 163 : Ligne 194 :
[11:39] Ubit Umarov : oui, c'est pour le 64 raspian je pense.
[11:39] Ubit Umarov : oui, c'est pour le 64 raspian je pense.
[11:39] Gavin.Hird @grid.xmir.org:8002 : sauf qu'il n'y a pas de mono 64-bit pour Raspian qui puisse compiler opensim
[11:39] Gavin.Hird @grid.xmir.org:8002 : sauf qu'il n'y a pas de mono 64-bit pour Raspian qui puisse compiler opensim
[11:39] Gavin.Hird @grid.xmir.org:8002 : MS a dit qu'il n'y en aura jamais
[11:39] Gavin.Hird @grid.xmir.org:8002 : MS (Microsoft) a dit qu'il n'y en aura jamais
[11:40] Ubit Umarov : je suppose que cette personne l'a fait fonctionner d'une manière ou d'une autre.
[11:40] Ubit Umarov : je suppose que cette personne l'a fait fonctionner d'une manière ou d'une autre.
[11:41] Ubit Umarov : en fait, je n'ai aucune idée de MS dit à propos de mono.
[11:41] Ubit Umarov : en fait, je n'ai aucune idée de MS dit à propos de mono.
Ligne 199 : Ligne 230 :
[11:49] Misterblue Waves : Je n'ai pas vérifié depuis un moment.
[11:49] Misterblue Waves : Je n'ai pas vérifié depuis un moment.
[11:50] Ubit Umarov : oui, je pense qu'elle a remplacé le code d'image, mais une bibliothèque plus lente qu'ils recommandent maintenant.
[11:50] Ubit Umarov : oui, je pense qu'elle a remplacé le code d'image, mais une bibliothèque plus lente qu'ils recommandent maintenant.
</pre>
=Probmème avec NuGet=
* [https://fr.wikipedia.org/wiki/NuGet NuGet]:  gestionnaire de paquets de la plate forme de développement Microsoft .NET.
* [https://fr.wikipedia.org/wiki/Nodejs Node.js] est une plateforme logicielle libre en JavaScript
* [https://fr.wikipedia.org/wiki/C_(langage) C  langage de programmation impératif généraliste, de bas niveau]
* [https://fr.wikipedia.org/wiki/Glade Glade : outil interactif de conception d'interface graphique GTK+ (bibliothèques logicielles) ]
* [https://fr.wikipedia.org/wiki/Dynamic_Link_Library DLL]: Dynamic Link Library est une bibliothèque logicielle dont les fonctions sont chargées en mémoire par un programme.
<pre>
[11:50] Misterblue Waves : je ne suis pas sûr que le noyau OS soit à la hauteur de NuGet, à moins que nous ayons hébergé notre propre dépôt (afin de ne pas charger de choses éventuellement imprévisibles).
[11:50] Misterblue Waves : je ne suis pas sûr que le noyau OS soit à la hauteur de NuGet, à moins que nous ayons hébergé notre propre dépôt (afin de ne pas charger de choses éventuellement imprévisibles).
[11:50] Ubit Umarov : nuget est inutile :p
[11:50] Ubit Umarov : nuget est inutile :p
Ligne 224 : Ligne 264 :
[11:57] Kayaker Magic : Je ne participe pas à la loterie parce que je n'achète pas de tickets. L'achat d'un ticket n'augmente pas beaucoup la probabilité de gagner.....
[11:57] Kayaker Magic : Je ne participe pas à la loterie parce que je n'achète pas de tickets. L'achat d'un ticket n'augmente pas beaucoup la probabilité de gagner.....
[11:57] Misterblue Waves : malgré l'impression de ne pas être à la page, j'utilise des bibliothèques à plusieurs endroits (PrimMesher, Meshmerizer, AssetLoader). Ce serait bien d'accéder à Robust à partir d'autres outils d'assets du monde (plugin Blender ?).
[11:57] Misterblue Waves : malgré l'impression de ne pas être à la page, j'utilise des bibliothèques à plusieurs endroits (PrimMesher, Meshmerizer, AssetLoader). Ce serait bien d'accéder à Robust à partir d'autres outils d'assets du monde (plugin Blender ?).
[11:57] Misterblue Waves : J'aime que les choses soient décomposées en morceaux facilement chargeables.
</pre>
= Bases de données et OpenSim =
* [https://mariadb.org/ MariaDB ] :  système de gestion de base de données édité sous licence GPL.
* [https://fr.wikipedia.org/wiki/MySQL MySQL ]:un système de gestion de bases de données relationnelles (SGBDR)
* [https://fr.wikipedia.org/wiki/DBase DBase] : système de gegstion de base de données destiné à faire partager des fichiers de données par plusieurs utilisateurs.
* [https://en.wikipedia.org/wiki/SQLite SQLite] :  est une bibliothèque écrite en langage C qui propose un moteur de base de données relationnelle accessible par le langage SQL
* [https://fr.wikipedia.org/wiki/PostgreSQL PostgreSQL] : système de gestion de base de données relationnelle et objet (SGBDRO). Outil libre disponible selon les termes d'une licence de type BSD.
* [[Chat_log_from_the_meeting_on_2022-02-01/fr#Probl.C3.A8me_de_compilation_du_viewer_dans_Windows|Problème avec MariaDB évoqué pendant la réunion précédente & Plan B de Gavin.Hird]]
* [https://fr.wikipedia.org/wiki/Structured_Query_Language SQL] :  langage informatique normalisé servant à exploiter des bases de données relationnelles.
* [[ROBUST]] est l'acronyme de "redesigned OpenSimulator Basic Universal Server Technology" (ROBUST).Il s'appuie sur le système de connecteurs et de services entrants et sortants qui a été développé pour l'Hypergrid et OpenSimulator.
* [[FSAssets_Service/fr |FSAssets]]  est destiné aux grandes grilles pour lesquelles la taille de la base de données dépasse les 50 Go. Cette option va placer les assets dans un système de fichiers à l'opposé du service par défaut qui stocke tous les assets au format blob dans la base de données.
*  [https://www.outworldz.com/outworldz_installer/ DreamGrid] est un systeme OpenSimulator compatible windows, gratuit, pré packagé, facile d'installation, facile à exécuter et puissant.
<pre>
[11:57] Andrew Hellershanks : Il reste un peu moins de cinq minutes avant la fin de l'heure. D'autres sujets liés à OS pour aujourd'hui ?
[11:57] Andrew Hellershanks : Il reste un peu moins de cinq minutes avant la fin de l'heure. D'autres sujets liés à OS pour aujourd'hui ?
[11:57] Jagga Meredith : Quel que soit mon problème avec MariaDB, il ne s'est pas reproduit.
[11:57] Jagga Meredith : Quel que soit mon problème avec MariaDB, il ne s'est pas reproduit.
[11:57] Misterblue Waves : J'aime que les choses soient décomposées en morceaux facilement chargeables.
[11:58] Andrew Hellershanks : Jagga, c'est bon à entendre. J'espère que ça restera comme ça.
[11:58] Andrew Hellershanks : Jagga, c'est bon à entendre. J'espère que ça restera comme ça.
[11:58] Jagga Meredith : *note* incrémenter de 0 à 1 est une augmentation des chances de 100%.
[11:58] Jagga Meredith : *note* incrémenter de 0 à 1 est une augmentation des chances de 100%.
Ligne 235 : Ligne 289 :
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense toujours que changer le bazar des uuid des groupes type varchar bytes en uuid réel pourrait aider à réduire la taille des requêtes et donc les performances, mais je n'ai pas eu le temps de m'y intéresser.
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense toujours que changer le bazar des uuid des groupes type varchar bytes en uuid réel pourrait aider à réduire la taille des requêtes et donc les performances, mais je n'ai pas eu le temps de m'y intéresser.
[12:00] Andrew Hellershanks : Moi non plus, Jagga.
[12:00] Andrew Hellershanks : Moi non plus, Jagga.
[12:00] Jagga Meredith :toujours fidèle à MriaDB malgré tout.
[12:00] Jagga Meredith :toujours fidèle à MariaDB malgré tout.
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: I still think changing groups uuid mess from varchar bytes to actual uuid might help with query sizes and thus performance, but I have had no time to get into that
[12:01] Ubit Umarov : dans certains cas, la question est de savoir pourquoi SQL.
[12:01] Ubit Umarov : dans certains cas, la question est de savoir pourquoi SQL.
[12:01] Misterblue Waves : @Vincent, c'est vrai. MySQL devient une entreprise et il est difficile de le configurer et de le contrôler.
[12:01] Misterblue Waves : @Vincent, c'est vrai. MySQL devient une entreprise et il est difficile de le configurer et de le contrôler.
[12:01] Ubit Umarov : d'autres forks sont passés à d'autres types de dbs avec un certain succès semble-t-il.
[12:01] Ubit Umarov : d'autres forks sont passés à d'autres types de base de données avec un certain succès semble-t-il.
[12:02] Misterblue Waves : @UBit, utiliser simplement le système de fichiers ?
[12:02] Misterblue Waves : @UBit, utiliser simplement le système de fichiers ?
[12:02] Gavin.Hird @grid.xmir.org:8002 : quelques succès
[12:02] Gavin.Hird @grid.xmir.org:8002 : quelques succès
Ligne 248 : Ligne 301 :
[12:03] Ubit Umarov : ces tables primaires remplies de colonnes que nous n'utilisons jamais.
[12:03] Ubit Umarov : ces tables primaires remplies de colonnes que nous n'utilisons jamais.
[12:03] Ubit Umarov : c'est à dire qu'on n'y accède jamais de manière indépendante.
[12:03] Ubit Umarov : c'est à dire qu'on n'y accède jamais de manière indépendante.
[12:03] Gavin.Hird @grid.xmir.org:8002: padding
[12:03] Gavin.Hird @grid.xmir.org:8002 : remplissage
[12:03] Gavin.Hird @grid.xmir.org:8002 : remplissage
[12:04] Misterblue Waves : nous aurions besoin d'une autre base de données si nous avions besoin de requêtes complexes (sélectionner tous les objets qui ont une résolution supérieure à 0,5 et qui sont à plus de 50 mètres).
[12:04] Misterblue Waves : nous aurions besoin d'une autre base de données si nous avions besoin de requêtes complexes (sélectionner tous les objets qui ont une résolution supérieure à 0,5 et qui sont à plus de 50 mètres).
Ligne 261 : Ligne 313 :
[12:06] Ubit Umarov : seulement fsassets je pense.
[12:06] Ubit Umarov : seulement fsassets je pense.
[12:06] Ubit Umarov : et le fichier direct n'est pas si cool.
[12:06] Ubit Umarov : et le fichier direct n'est pas si cool.
[12:07] Ubit Umarov : les dbs essaient d'optimiser l'accès au disque.
[12:07] Ubit Umarov : les bases de données essaient d'optimiser l'accès au disque.
[12:07] Ubit Umarov : et faire...
[12:07] Ubit Umarov : et faire...
[12:07] Ubit Umarov : en fait, certains demandent leur propre système de fichiers.
[12:07] Ubit Umarov : en fait, certains demandent leur propre système de fichiers.
Ligne 268 : Ligne 320 :
[12:08] Ubit Umarov : c'est un pas en arrière
[12:08] Ubit Umarov : c'est un pas en arrière
[12:08] Ubit Umarov : l'ancien cache était meilleur.
[12:08] Ubit Umarov : l'ancien cache était meilleur.
[12:08] Misterblue Waves : J'en ai découvert certains systèmes d'exploitations qui ne se comportent pas très bien pour accéder à des fichiers aléatoires dans des répertoires à plusieurs niveaux.  Thrash, thrash, thrash
[12:08] Misterblue Waves : J' ai découvert certains systèmes d'exploitations qui ne se comportent pas très bien pour accéder à des fichiers aléatoires dans des répertoires à plusieurs niveaux.  Thrash, thrash, thrash
[12:08] Jagga Meredith : ORACLE a l'habitude de proposer ses propres systèmes de fichiers "raw" multiples.
[12:08] Jagga Meredith : ORACLE a l'habitude de proposer ses propres systèmes de fichiers "raw" multiples.
[12:09] Ubit Umarov : oui, les systèmes de fichiers des systèmes d'exploitation ne sont pas si bons pour le traitement des bases de données.
[12:09] Ubit Umarov : oui, les systèmes de fichiers des systèmes d'exploitation ne sont pas si bons pour le traitement des bases de données.
Ligne 283 : Ligne 335 :
[12:13] Andrew Hellershanks hoche la tête
[12:13] Andrew Hellershanks hoche la tête
[12:13] Gavin.Hird @grid.xmir.org:8002 : corrigez le code de postgres, mettez à jour mysql et vous obtiendrez un système beaucoup plus performant.
[12:13] Gavin.Hird @grid.xmir.org:8002 : corrigez le code de postgres, mettez à jour mysql et vous obtiendrez un système beaucoup plus performant.
[12:14] Misterblue Waves : quel est le ressenti par rapport au système de Tâches pour .NET ? Devrions-nous retirer SmartThreads et passer à un planificateur de tâches ?
</pre>
 
= système de Tâches pour .NET =
* [https://fr.wikipedia.org/wiki/Planificateur_de_t%C3%A2ches Planificateur de tâches] : programme informatique permettant de planifier l'exécution automatique et périodique de tâches (commandes, scripts, programmes).
* FIFO :  file d'attente ou queue, dans laquelle les premiers éléments entrés sont aussi les premiers à sortir.
* LIFO : La dernière donnée enregistrée est ainsi la première à être retirée (sauf commande particulière).
<pre>
[12:14] Misterblue Waves : quel est le ressenti par rapport au système de Tâches pour .NET ? Devrions-nous retirer SmartThreads et passer à un planificateur de tâches (Task scheduler)?
[12:15] Ubit Umarov : pense que SmartThreads est toujours bien meilleur que le threapool natif.
[12:15] Ubit Umarov : pense que SmartThreads est toujours bien meilleur que le threapool natif.
[12:15] Ubit Umarov: qui provoque actuellement des fuites de threads sur mono.
[12:15] Ubit Umarov: qui provoque actuellement des fuites de threads sur mono.
Ligne 318 : Ligne 377 :
[12:26] Ubit Umarov : retour au modèle EPA
[12:26] Ubit Umarov : retour au modèle EPA
[12:26] Ubit Umarov : ou comment il est appelé
[12:26] Ubit Umarov : ou comment il est appelé
[12:28] Ubit Umarov : La tâche permet seulement un peu plus facile de lire le code de très faible performance.
[12:29] Ubit Umarov : bien sûr, MS dit que c'est le meilleur depuis .net 4.0 où ils l'ont introduit :)
</pre>
= Conclusion=
<pre>
[12:27] Andrew Hellershanks : Nous avons presque dépassé la moitié de l'heure. Il est temps de conclure pour aujourd'hui s'il n'y a pas de commentaires finaux pour aujourd'hui.
[12:27] Andrew Hellershanks : Nous avons presque dépassé la moitié de l'heure. Il est temps de conclure pour aujourd'hui s'il n'y a pas de commentaires finaux pour aujourd'hui.
[12:28] Andrew Hellershanks : Je ne vois personne en train de taper, je vais donc mettre un terme à cette réunion. Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
[12:28] Andrew Hellershanks : Je ne vois personne en train de taper, je vais donc mettre un terme à cette réunion. Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
[12:28] Motoko.Karu @login.digiworldz.com:8002 : Merci.
[12:28] Motoko.Karu @login.digiworldz.com:8002 : Merci.
[12:28] Ubit Umarov : La tâche permet seulement un peu plus facile de lire le code de très faible performance.
[12:29] Ubit Umarov : ofc ms dit que c'est le meilleur depuis .net 4.0 où ils l'ont introduit :)
</pre>
</pre>

Dernière version du 9 février 2022 à 22:52

Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-08

Introduction

[11:02] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew, Kayaker
[11:02] Andrew Hellershanks : Bonjour à tous.
[11:02] Misterblue Waves : Bonjour à tous !
[11:02] Kayaker Magic : Bonjour à tous !
[11:02] Andrew Hellershanks : Hey, Misterblue
[11:03] Kayaker Magic : Misterblue ! Ça fait longtemps qu'on ne s'est pas vu ! Content de te voir ici !
[11:04] Misterblue Waves : je revisite mes anciens projets et mes anciens terrains de jeu :)
[11:04] Jamie.Jordan @grid.kitely.com:8002 : Mister Blue bienvenue mon ami
[11:05] Ubit Umarov : Bonjour !
[11:05] Gavin.Hird @grid.xmir.org:8002 : Bonsoir Ubit

Moteurs de jeux pour projets de Viewers

  • Unity : moteur de jeu multiplateforme répandus dans l'industrie du jeu vidéo, aussi bien pour les grands studios que pour les indépendants.
  • Unreal Engine : moteur de jeu vidéo propriétaire développé par Epic Games.
  • Xenko /Sride : Stride, alors appelé Xenko, était à l'origine mis à disposition par Silicon Studio sous un modèle de double licence, disponible pour tous sous GNU GPLv3, avec des termes de licence alternatifs, payants, disponibles pour ceux pour qui les termes de copyleft de la GPL sont un obstacle à l'adoption[1] Le 2 août 2018, le développeur Virgile Bello a annoncé sur le blog Xenko que Silicon Studio avait abandonné le support du projet et ré-licencié Xenko 3.0 sous la licence MIT. Contrairement à l'accord antérieur de double licence selon lequel le moteur était disponible en tant que logiciel libre et open-source mais l'éditeur restait propriétaire, dans le cadre du nouvel accord, le moteur et l'éditeur sont tous deux disponibles sous la licence MIT[2].
  • Stride : https://www.stride3d.net/
  • Godot : est un moteur de jeu multiplateforme, logiciel libre sous licence MIT.
[11:05] Kayaker Magic : En parlant d'anciens projets, j'ai entendu une rumeur selon laquelle la licence pour Unity a changé et qu'elle pourrait être intéressante maintenant pour que le nouveau projet du viewer de Melane continue.
[11:06] Ubit Umarov : nous n'avons jamais fait ça dans unity.
[11:06] Kayaker Magic : Quel moteur a-t-elle utilisé ? Je pensais que c'était unity.
[11:06] Ubit Umarov : unreal
[11:07] Ubit Umarov : puis un début de reprise dans xenko, maintenant Stride.
[11:07] Andrew Hellershanks: Stride?
[11:08] Motoko.Karu @login.digiworldz.com:8002: https://www.stride3d.net/
[11:08] Ubit Umarov : oui, je pense que c'est son nom maintenant.
[11:08] Motoko.Karu @login.digiworldz.com:8002 : désolé... lag
[11:08] Ubit Umarov : Oui, merci.
[11:08] Motoko.Karu @login.digiworldz.com:8002 : np
[11:09] Andrew Hellershanks : Oh, c'est ce qu'on appelait autrefois Xenko.
[11:09] Misterblue Waves : J'ai recommencé à travailler sur mon viewer. La première version est basée sur un navigateur mais la prochaine sera basée sur ce qui convient (unreal, godot, stride, ...).

Viewers - Texte uniquement

  • Compatible_Viewers/fr# Viewers - Texte uniquement
  • Radegast : Radegast-ng est un client léger pour les plateformes Second Life et OpenSimulator.
  • Lumiya : La version 3.2 de Lumiya peut toujours être téléchargée via SlideMe mais elle coûte 2,95 $. Cette application a été mise à jour pour la dernière fois le 27 novembre 2016. Lumiya est un client Second Life et OpenSim offrant une vue du monde en 3D. Source.
  • Evee  : Moteur de rendu Blender
  • ClienWiew :"Lorsque le serveur reçoit un message dans UPDServer, il utilise Packet.BuildPacket pour créer un nouvel objet, et l'envoie au ClientView correct, qui assemble ces informations dans un événement qui change l'état de la simulation." [|source]
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Nous avons vraiment besoin d'un bon viewer texte, un qui soit mis à jour plus régulièrement et qui fonctionne réellement.
[11:10] Ubit Umarov : radagast ne fonctionne pas ?
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est le cas, sauf si votre mot de passe est trop long.
[11:10] Ubit Umarov : :)
[11:10] Misterblue Waves : quelles sont les fonctions dont tu as besoin dans un viewer texte, @Vincent ? juste le chat ?
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Chat, peut-être quelques contrôles de domaines et de parcelles, c'est à peu près tout.
[11:10] Ubit Umarov : et je devine l'inventaire également
[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous savez les trucs d'administration que vous ne pouvez pas faire via la console.
[11:11] Kayaker Magic : Est-ce que Radegast fonctionne sur les téléphones portables ? J'ai utilisé Lumiya comme viewer texte sur mon téléphone jusqu'à ce qu'il soit abandonné. Il ne fonctionne pas sur mon nouveau téléphone.
[11:11] Ubit Umarov : pour vérifier les notecards.
[11:11] Ubit Umarov : je pense que certains utilisent encore Lumiya.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il fonctionne toujours sur mon téléphone.
[11:12] Andrew Hellershanks : Je me demande si quelqu'un a pensé à utiliser le moteur de rendu utilisé dans Blender.
[11:12] Ubit Umarov : en tout cas, j'ai fait un correctif pour ça... il y a environ 2 ans maintenant :)
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais il ne fait pas les vars
[11:12] Kayaker Magic : Lumiya fonctionne toujours sur ma tablette qui a 6 ans.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002: unlocked bootloader lineage os ftw lol
[11:12] Ubit Umarov : il ne décode pas tous les xml llsd correctement.
[11:12] Gavin.Hird @grid.xmir.org:8002 : Je suppose que si vous ne voulez pas que votre avatar rezzé ressemble à une brique, vous aurez besoin d'un accès plus ou moins complet à l'inventaire.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : hehe vrai
[11:12] Gavin.Hird @grid.xmir.org:8002 : à ma connaissance, vous ne pouvez pas vous connecter avec un client texte léger.
[11:12] Ubit Umarov : comme <integer /> je me souviens.
[11:13] Ubit Umarov : J'ai dû le retirer.
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'aime définir des mots de passe à partir de 20 caractères et plus jusqu'à 64, radegast et je pense lumiya vomissent tout ce qui est au-dessus de 16 ou plus.
[11:13] Ubit Umarov : ce que veut vraiment la plupart des gens c'est chatter avec les autres.
[11:14] Ubit Umarov : être en contact avec ses amis...
[11:14] Ubit Umarov : le 3d autour est juste un décor, la plupart du temps.
[11:14] Misterblue Waves : ce serait aussi bien pour des réunions comme celle-ci. Nous n'utilisons pas vraiment les fonctionnalités du monde 3D de cet endroit.
[11:15] Gavin.Hird @grid.xmir.org:8002 : alors vous pouvez simplement faire une réunion dans n'importe quelle plateforme de chat.
[11:15] Ubit Umarov : 21W sur mon processeur alors qu'il pourrait être à 5.
[11:15] Ubit Umarov : ;(
[11:15] Ubit Umarov : :)
[11:15] Ubit Umarov : je suppose que c'est plus sur le gpu.
[11:15] Misterblue Waves : Je suis en train de construire un tout nouveau protocole. Un jour, je devrai me battre avec UBit pour qu'un nouveau ClientView soit ajoutée à la base :)
[11:15] Ubit Umarov : mon utilitaire  ne montre pas l'estimation de la puissance du gpu :(
[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Si cela a du sens, je suis sûr qu'il l'ajoutera, il faut juste persister, c'est comme ça que je fais passer les choses ;)
[11:16] Ubit Umarov : L'idée est d'ajouter des clients.
[11:16] Ubit Umarov : maintenant... c'est un peu difficile car il y a des choses de SL partout.

Les metavers

  • Ndlr : je voulais mettre des liens, mais après mure réflexion ... pas de pub.
[11:17] Misterblue Waves : SL s'égare dans sa propre direction, et, avec de nouveaux consultants (<clin d'œil//>) ils pourraient changer beaucoup de choses.
[11:17] Gavin.Hird @grid.xmir.org:8002 : ha !
[11:17] Ubit Umarov : une voix me vient à l'esprit.
[11:17] Gavin.Hird @grid.xmir.org:8002 : J'ai vu que Meta va ajouter un espace de sécurité autour de tous les avatars.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : SL est, comme d'habitude, juste en train de tourner autour de la cuvette des toilettes ces derniers temps.
[11:18] Kayaker Magic : Meta ? Cette société ne va pas bientôt disparaître ?
[11:18] Motoko.Karu @login.digiworldz.com:8002 : lol... je dois me souvenir de celui-là... <le commentaire sur la cuvette des toilettes>
[11:18] Misterblue Waves : oui, HiFi avait cela dans leur première version. Meta est en train d'apprendre toutes les choses que SL a dû apprendre. Ils partent de zéro.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelqu'un d'autre a été inondé d'emails relatifs au "metaverse" ces derniers temps ?
[11:19] Ubit Umarov : je pense que meta est un peu plus en avance sur sl.
[11:19] Misterblue Waves : soit "metaverse" soit "crypto". Il y a beaucoup de pompage et de déversement en cours.
[11:19] Gavin.Hird @grid.xmir.org:8002 : On pourrait l'espérer, mais la rumeur de sa mort est jusqu'à présent exagérée.
[11:19] Ubit Umarov : regarder d'autres choses, comme sansar, space, etc...
[11:20] Ubit Umarov : et beaucoup d'autres trucs autour des choses qui peuvent vendre oculus.
[11:20] Ubit Umarov : Cela doit être très motivant... vendre des produits oculus :P

Système LOD

  • LOD = Level Of Detail : Le "niveau de détail" du LOD fait référence à la quantité de détails d'un objet que le viewer rendra. Un facteur LOD plus élevé signifie que le viewer montrera l'objet avec plus de détails qu'un facteur inférieur. Un petit objet rendu à un LOD inférieur sera représenté par une forme plus simple ; un LOD supérieur sera rendu de manière plus précise. Comme nous l'avons déjà mentionné, le rendu d'un objet complexe demande plus de travail que celui d'un objet plus simple, et plus le LOD requis pour le rendre correctement est élevé, plus votre ordinateur et votre carte graphique doivent travailler dur. S'il y a beaucoup d'objets avec un LOD élevé dans une scène, votre ordinateur va ralentir. Le viewer gère cela en déterminant le LOD requis en fonction, notamment, de la distance qui vous sépare de l'objet. Un petit objet complexe situé à 20 mètres peut être rendu avec un LOD inférieur, et vous ne remarquerez jamais la différence, car il ne prend pas assez de place sur votre écran pour afficher tous ces détails. Si vous vous rapprochez (ou si vous approchez la caméra), le LOD augmentera parce que l'objet semble plus grand, et les détails deviendront visibles.
[11:20] Misterblue Waves : quelqu'un travaille avec un système LOD ?
[11:20] Misterblue Waves : Je me demande comment il est normalement mis en œuvre
[11:21] Ubit Umarov : LOD  comme niveau de détail ?
[11:21] Misterblue Waves: oui
[11:21] Ubit Umarov : c'est un peu un truc du côté des viewers.
[11:22] Ubit Umarov : et aussi des créateurs de meshes.
[11:22] Kayaker Magic : Les publicités pour Unreal5 prétendent que leur moteur s'occupe du LOD pour vous.
[11:22] Ubit Umarov : Oui, il le fait.
[11:22] Misterblue Waves : Je travaille sur la conversion du contenu OS en GLTF et ensuite sur l'auto LODing dans des segments de régions à plus faible résolution.
[11:22] Ubit Umarov : et sur des meshes énormes aussi.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : La distance de boîte de délimitation par rapport à la caméra ou peut-être même au centre de l'objet, puis... euh, c'était quoi 30 mètres pour le premier niveau, 90 et enfin 256, quelque chose comme ça ?
[11:22] Misterblue Waves : Il y a beaucoup de techniques de décimation sur le marché alors je me suis dit que j'allais les utiliser.
[11:23] Ubit Umarov : fs montre les points de transition par maille maintenant.
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : La subdivision est une bibliothèque subd9 ou quel que soit son nom, ce que blender utilisait il y a environ 5 ans.
[11:23] Ubit Umarov : les viewers auto lod ne sont pas si bien que ça.
[11:24] Gavin.Hird @grid.xmir.org:8002 : la bibliothèque GLOD d'anicnet sera bientôt remplacée dans les viewers.
[11:24] Ubit Umarov : et une simple décimation aveugle peut ne pas suffire.
[11:24] Misterblue Waves : certains navigateurs géographiques ont des fichiers de définition du monde (comme Cesium's 3D Tiles (https://cesium.com/blog/2015/08/10/introducing-3d-tiles/)).
[11:24] Gavin.Hird @grid.xmir.org:8002 : je ne me souviens pas de son nom à première vue.
[11:24] Ubit Umarov : oui, ils en parlent.
[11:24] Kayaker Magic : Voici une démo montrant UE5 faisant du LOD pour vous : https://www.youtube.com/watch?v=JLUzi3y_uvM
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai regardé ce code il y a juste deux semaines et j'ai déjà oublié, je me fais vieux lol.
[11:25] Ubit Umarov : j'ai fait un peu d'hébergement brut/basique pour le viewer unreal.
[11:26] Misterblue Waves : il y avait le vieux projet Sirkata qui implémentait le LOD automatique.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : La taille de l'objet fait également partie des calculs côté viewer lorsqu'elle commence à passer à différents niveaux, probablement en fonction de la réduction des polygones dans la scène. Il y avait quelque chose là-dedans sur la boîte de délimitation qui jouait un rôle dans les calculs.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pourcentage de la surface de l'écran
[11:27] Misterblue Waves : et puis, les moteurs de rendu comme Unreal ont une technologie auto-LOD incroyable intégrée.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce qui ne sert à rien de toute façon dans beaucoup de cas parce que les gens téléchargent toujours avec le même LOD pour tous les niveaux.
[11:27] Ubit Umarov : oui, les nanites semblent bien.
[11:28] Ubit Umarov : ( nanite est la chose la plus irréelle )

Nouvelles dans le code OpenSim

  • Docker: outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur.
  • Projet Opensim-Docker de Misterblue Waves
  • Option OutboundPermission : dans StandaloneCommon.ini ou GridCommon.ini dans la section [HGInventoryAccessModule]
  • Architecture ARM
[11:30] Ubit Umarov : alors quelles sont les nouvelles ?
[11:32] Misterblue Waves : J'ai mis à jour mon projet opensim-docker (https://github.com/Misterblue/opensim-docker)
[11:32] Ubit Umarov : merci misterblue
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les changements récents dans les flags d'inventaire ont fait disparaître un peu d'inventaire pour les gens, évidemment le transfert de HG sans permissions d'exportation est arrivé assez souvent, donc c'était amusant.
[11:32] Ubit Umarov : quel changement de flags d'inventaire ?
[11:32] Ubit Umarov : je ne me rappelle pas avoir changé les flags d'inventaire. 
[11:33] Kayaker Magic : Ouais, c'est quelque chose que tu as fait Vincent ?
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le truc au sujet des permissions d'exportation de cette mantis, après cela les gens ont commencé à se plaindre de pertes dans les inventaires, je ne sais toujours pas exactement comment cela est lié.
[11:33] Ubit Umarov : ne pas oublier d'autoriser les exportations de landmarks lorsque les autres sont bloqués.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je sais seulement que je n'ai pas trouvé les objets dans les assets donc, ils n'ont pas dû être transférés. Mais, ils étaient dans l'inventaire de l'utilisateur... je ne sais pas comment c'est possible, ma meilleure réponse serait que c'est dû au cache.
[11:34] Ubit Umarov : non, je ne pense pas que le code ait changé quoi que ce soit, mais il faut régler le problème et laisser les landmarks passer.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mise à jour du binaire supprimant le cache, feux d'artifice
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais c'est la nature des corrections de bugs, on en gagne et on en perd.
[11:35] Ubit Umarov : et ces changements de code ne sont pertinents que lorsque l'option de ne pas exporter est mise à true.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense que c'est une partie du problème, quelque chose qui n'obéit pas à "no export", mais eh c'est comme ça maintenant.
[11:36] Ubit Umarov : (option OutboundPermission)
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les autres changements sont principalement cosmétiques, du code de refactoring et quelque chose sur le support des puces ARM.
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelques corrections pour le domaine (Estate) également

Compatibilité et compilation

  • Makefile fichiers utilisés par le programme make pour exécuter un ensemble d'actions, comme la compilation d'un projet, l'archivage de document, la mise à jour de site, etc.
  • AArch64 ou ARM64 est l'extension 64 bits de l'architecture ARM. Elle a été introduite pour la première fois avec l'architecture ARMv8-A.
  • Bullet : moteur physique simulant la détection de collisions ainsi que la mécanique des corps rigides et déformables. Licence ZLib libre.
  • OpenJep : codec JPEG 2000 open-source écrit en C.
  • Raspberry Pi : nano-ordinateur monocarte à processeur ARM de la taille d'une carte de crédit créé afin de démocratiser l'accès aux ordinateurs.
  • Raspbian est un système d'exploitation libre basé sur Debian et optimisé pour le matériel Raspberry Pi.
  • Mono : mise en œuvre open source (sous licence GNU GPL, GNU LGPL ou X11 selon les éléments) de la plateforme de développement Microsoft .NET. Mono est utilisé entre autre sur les systèmes d'exploitation Linux pour lancer OpenSimulator.
  • .NET
  • Prebuild.exe : fichier dans le dossier bin de OpenSimulator.
  • fichier .csproj : en langage C# (C Sharp), langage de programmation de OpenSimulator, le fichier .csproj contient la liste des fichiers du projet, ainsi que les références aux assemblies du système, etc.
  • sln : Un fichier SLN est un fichier de structure utilisé pour organiser des projets dans Microsoft Visual Studio. Il contient des informations textuelles sur l’environnement et l’état du projet.
  • Visual Studio 2017 (vs2017) :
[11:38] Ubit Umarov : oui, nous avons reçu une contribution pour modifier les makefiles afin de permettre la compilation de certaines librairies non gérées pour aarch64.
[11:38] Ubit Umarov : y compris celles déjà compilées.
[11:38] Ubit Umarov : pour bullet et openjeg
[11:39] Misterblue Waves : maintenant que Raspian est disponible en 64 bits, je peux faire tourner tous mes vieux RaspPi avec des simulateurs LOL.
[11:39] Ubit Umarov : oui, c'est pour le 64 raspian je pense.
[11:39] Gavin.Hird @grid.xmir.org:8002 : sauf qu'il n'y a pas de mono 64-bit pour Raspian qui puisse compiler opensim
[11:39] Gavin.Hird @grid.xmir.org:8002 : MS (Microsoft) a dit qu'il n'y en aura jamais
[11:40] Ubit Umarov : je suppose que cette personne l'a fait fonctionner d'une manière ou d'une autre.
[11:41] Ubit Umarov : en fait, je n'ai aucune idée de MS dit à propos de mono.
[11:41] Gavin.Hird @grid.xmir.org:8002 : ils ont dit qu'il ne sera pas mis à jour.
[11:41] Ubit Umarov : ce qu'ils disent n'est pas du tout fiable.
[11:41] Kayaker Magic : Dang, 64bit Raspian était ma prochaine question. Est-ce que MicroSquishy fera un DotNet 64bit pour ARM ?
[11:42] Gavin.Hird @grid.xmir.org:8002 : .Net5
[11:42] Gavin.Hird @grid.xmir.org:8002 : Oui.
[11:42] Gavin.Hird @grid.xmir.org:8002 : cela existe déjà pour autant que je sache.
[11:42] Ubit Umarov : la façon dont ms essaie maintenant de tuer le futur mono est en fait irritante.
[11:42] Kayaker Magic : Mike Chase a fait tourner OpenSim sur DotNet, mais seulement sur des serveurs WinCows.
[11:42] Gavin.Hird @grid.xmir.org:8002 : MS l'utilise dans Visual Studio pour macOS fonctionnant sur Apple Silicon.
[11:43] Ubit Umarov : pas sûr qu'il l'ait fait...
[11:43] Ubit Umarov : il travaillait dessus, je suppose.
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous ne pouvez pas développer quoi que ce soit après 4.8 parce que la documentation est, excusez mon langage, de la merde de cheval. Avec .net core, standard et toutes ces conneries, c'est devenu un désordre total de construire quoi que ce soit, sans parler de l'indépendance de la plateforme.
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : MS est en train de tuer .net comme ils le font habituellement avec tout finalement.
[11:43] Ubit Umarov : ms a tué le noyau et le standard maintenant.
[11:44] Ubit Umarov : tout ce qu'ils ont dit à ce sujet a été envoyé à la poubelle.
[11:44] Ubit Umarov : depuis :net5 et 6 unifient tout ( ils le revendiquent )
[11:45] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vous allez dans la documentation pour trouver une fonction pour quelque chose, il s'avère que cela ne fonctionne pas, stackoverflow dit alors d'utiliser quelque chose d'autre, mais cela n'est disponible que dans l'ancien .net et vous êtes de retour dans la documentation de MS en essayant de comprendre ce qu'est exactement la chose maintenant, un désordre total.
[11:45] Ubit Umarov : toute précipitation pour passer à Dotnet est une perte de temps.
[11:46] Misterblue Waves : Il faut refactoriser certaines des bibliothèques de base (PrimMesher, libOpenSim, ...) et déplacer un tas de code dans OS. J'ai pensé à pousser une version de OS vers .Net6/Standard2 mais c'est un gros travail.
[11:46] Ubit Umarov : la façon dont ils continuent à changer.
[11:46] Andrew Hellershanks : Vincent, ça ressemble à la disparité typique entre la documentation et le code.
[11:46] Ubit Umarov : pendant ce temps, les gens font des choses pour faciliter le portage.
[11:47] Misterblue Waves : Prebuild a besoin d'un peu de travail pour gérer les nouveaux formats de fichiers .csproj.
[11:47] Ubit Umarov : Oui, c'est vrai.
[11:48] Ubit Umarov : certains qui l'utilisaient ont abandonné et n'utilisent plus que des slns directs et des csproj.
[11:48] Ubit Umarov : comme le radagash cinder ?
[11:48] Misterblue Waves : J'aimerais pouvoir avoir un prebuild.xml qui dit "Standard 2.0" et avoir les bons trucs de compilation.
[11:48] Ubit Umarov : oui, il faut le changer pour les nouveaux formats de fichiers.
[11:49] Ubit Umarov : et les options.
[11:49] Misterblue Waves : Cinder a fait beaucoup de bon travail dans cette direction. Elle avait une version standard2 de primmesher et libreOMV sur le dépôt NuGet à un moment donné.
[11:49] Ubit Umarov : son support pour vs2017 était déjà un peu dépassé :)
[11:49] Misterblue Waves : Je n'ai pas vérifié depuis un moment.
[11:50] Ubit Umarov : oui, je pense qu'elle a remplacé le code d'image, mais une bibliothèque plus lente qu'ils recommandent maintenant.

Probmème avec NuGet

[11:50] Misterblue Waves : je ne suis pas sûr que le noyau OS soit à la hauteur de NuGet, à moins que nous ayons hébergé notre propre dépôt (afin de ne pas charger de choses éventuellement imprévisibles).
[11:50] Ubit Umarov : nuget est inutile :p
[11:50] Vincent.Sylvester @hg.zetaworlds.com:8002: Amen
[11:51] Ubit Umarov : et oui, cela pollue nos machines.
[11:51] Ubit Umarov : charge de la merde dans un dossier quelque part.
[11:51] Andrew Hellershanks : N'est-ce pas quelque chose que l'on utilise pour construire des applications Android ?
[11:51] Ubit Umarov : Non.
[11:51] Vincent.Sylvester @hg.zetaworlds.com:8002 : nuget est le nodejs du monde C.
[11:51] Andrew Hellershanks : oh, non. Je pense que c'était Glade.
[11:52] Ubit Umarov : gestionnaire de paquets
[11:52] Misterblue Waves : J'ai regardé un peu libOMV mais il a besoin d'un tas de remaniements pour en faire un ensemble de bibliothèques car les fonctions sont mélangées avec le code d'utilisation et on ne peut pas facilement séparer les fonctions.
[11:52] Ubit Umarov : à un moment donné, xenko a récupéré tous les paquets nuget.
[11:52] Ubit Umarov : et à partir de quelques fichiers de bibliothèque, il est passé à 300 paquets nuget.
[11:53] Misterblue Waves : OS n'utilise pas NuGet. Il dépose juste les DLLs dans le répertoire bin. Des DLLs brutes qui sont construites à partir de bibliothèques que nous contrôlons.
[11:53] Misterblue Waves :OS pourrait utiliser NuGet si nous utilisions nos propres dépôts et contrôlions les binaires. C'est ce que nous faisons avec PrimMesher, etc maintenant.
[11:53] Ubit Umarov : oui, l'ancienne méthode plus propre et contrôlable.
[11:54] Ubit Umarov : et quel est le but MB ?
[11:54] Ubit Umarov : juste pour avoir l'air moderne et fantaisiste aux yeux des enfants ? :)
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il n'y a pas si longtemps, il y a eu un problème dans libomv avec un verrouillage ou une synchronisation, ne pas avoir le contrôle de cela aurait été une énorme douleur.
[11:55] Vincent.Sylvester @hg.zetaworlds.com:8002: [11:55] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne me souviens même pas de ce que c'était spécifiquement, mais nous avons dû décompiler la bibliothèque terminée pour la corriger parce que quelque chose était "optimisé".
[11:55] Ubit Umarov : aucune idée. Mais tu as des problèmes étranges vicent :p
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est probablement pour ça que je ne gagne pas à la loterie, hein ?
[11:56] Andrew Hellershanks: hehe
[11:57] Kayaker Magic : Je ne participe pas à la loterie parce que je n'achète pas de tickets. L'achat d'un ticket n'augmente pas beaucoup la probabilité de gagner.....
[11:57] Misterblue Waves : malgré l'impression de ne pas être à la page, j'utilise des bibliothèques à plusieurs endroits (PrimMesher, Meshmerizer, AssetLoader). Ce serait bien d'accéder à Robust à partir d'autres outils d'assets du monde (plugin Blender ?).
[11:57] Misterblue Waves : J'aime que les choses soient décomposées en morceaux facilement chargeables.

Bases de données et OpenSim

  • MariaDB  : système de gestion de base de données édité sous licence GPL.
  • MySQL :un système de gestion de bases de données relationnelles (SGBDR)
  • DBase : système de gegstion de base de données destiné à faire partager des fichiers de données par plusieurs utilisateurs.
  • SQLite : est une bibliothèque écrite en langage C qui propose un moteur de base de données relationnelle accessible par le langage SQL
  • PostgreSQL : système de gestion de base de données relationnelle et objet (SGBDRO). Outil libre disponible selon les termes d'une licence de type BSD.
  • Problème avec MariaDB évoqué pendant la réunion précédente & Plan B de Gavin.Hird
  • SQL : langage informatique normalisé servant à exploiter des bases de données relationnelles.
  • ROBUST est l'acronyme de "redesigned OpenSimulator Basic Universal Server Technology" (ROBUST).Il s'appuie sur le système de connecteurs et de services entrants et sortants qui a été développé pour l'Hypergrid et OpenSimulator.
  • FSAssets est destiné aux grandes grilles pour lesquelles la taille de la base de données dépasse les 50 Go. Cette option va placer les assets dans un système de fichiers à l'opposé du service par défaut qui stocke tous les assets au format blob dans la base de données.
  • DreamGrid est un systeme OpenSimulator compatible windows, gratuit, pré packagé, facile d'installation, facile à exécuter et puissant.
[11:57] Andrew Hellershanks : Il reste un peu moins de cinq minutes avant la fin de l'heure. D'autres sujets liés à OS pour aujourd'hui ?
[11:57] Jagga Meredith : Quel que soit mon problème avec MariaDB, il ne s'est pas reproduit.
[11:58] Andrew Hellershanks : Jagga, c'est bon à entendre. J'espère que ça restera comme ça.
[11:58] Jagga Meredith : *note* incrémenter de 0 à 1 est une augmentation des chances de 100%.
[11:58] Jagga Meredith: s/increating/incrementing/
[11:58] Gavin.Hird @grid.xmir.org:8002 : non, je travaille sur le plan B, et il est en train de se construire et de fonctionner dans SL.
[11:59] Misterblue Waves : J'ai utilisé MariaDB sans aucun problème. C'est ce que j'ai incorporé dans opensim-docker (en faisant tourner deux conteneurs dont l'un est l'image stockée de MariaDB).
[12:00] Jagga Meredith : Je n'aime pas les choses qui se cassent et se réparent comme par magie.
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense toujours que changer le bazar des uuid des groupes type varchar bytes en uuid réel pourrait aider à réduire la taille des requêtes et donc les performances, mais je n'ai pas eu le temps de m'y intéresser.
[12:00] Andrew Hellershanks : Moi non plus, Jagga.
[12:00] Jagga Meredith :toujours fidèle à MariaDB malgré tout.
[12:01] Ubit Umarov : dans certains cas, la question est de savoir pourquoi SQL.
[12:01] Misterblue Waves : @Vincent, c'est vrai. MySQL devient une entreprise et il est difficile de le configurer et de le contrôler.
[12:01] Ubit Umarov : d'autres forks sont passés à d'autres types de base de données avec un certain succès semble-t-il.
[12:02] Misterblue Waves : @UBit, utiliser simplement le système de fichiers ?
[12:02] Gavin.Hird @grid.xmir.org:8002 : quelques succès
[12:02] Ubit Umarov : non, d'autres choses (qui finissent par faire ça) :)
[12:02] Ubit Umarov : comme (Clé valeur) seulement des choses.
[12:03] Ubit Umarov : la plupart des bases de données de nos régions sont insensées.
[12:03] Misterblue Waves : Les bases de données sont les meilleures si l'on fait des requêtes de sélection. La recherche simple clé=>valeur peut être faite facilement.
[12:03] Ubit Umarov : ces tables primaires remplies de colonnes que nous n'utilisons jamais.
[12:03] Ubit Umarov : c'est à dire qu'on n'y accède jamais de manière indépendante.
[12:03] Gavin.Hird @grid.xmir.org:8002 : remplissage
[12:04] Misterblue Waves : nous aurions besoin d'une autre base de données si nous avions besoin de requêtes complexes (sélectionner tous les objets qui ont une résolution supérieure à 0,5 et qui sont à plus de 50 mètres).
[12:04] Jagga Meredith : apparemment dbase est toujours là.  Dbase me manque.
[12:04] Ubit Umarov : le truc c'est que nous n'avons pas de requêtes complexes sur la plupart des choses.
[12:05] Andrew Hellershanks : J'avais l'habitude d'utiliser ça aussi, Jagga.
[12:05] Ubit Umarov : nous sauvegardons et lisons une prim seulement comme un bloc individuel.
[12:05] Kayaker Magic : Les requêtes les plus complexes que j'ai utilisé dans OpenSim sont pour des tâches d'administration à partir d'une page WEB PHP....
[12:05] Ubit Umarov : donc actuellement c'est en fait une configuration (clé, valeur) en termes pratiques.
[12:05] Misterblue Waves : Robust a un magasin de système de fichiers, non ?
[12:06] Ubit Umarov : avec la valeur une info sérialisée.
[12:06] Ubit Umarov : seulement fsassets je pense.
[12:06] Ubit Umarov : et le fichier direct n'est pas si cool.
[12:07] Ubit Umarov : les bases de données essaient d'optimiser l'accès au disque.
[12:07] Ubit Umarov : et faire...
[12:07] Ubit Umarov : en fait, certains demandent leur propre système de fichiers.
[12:07] Gavin.Hird @grid.xmir.org:8002 : à un moment donné, le système de fichiers devient impossible à sauvegarder et à restaurer.
[12:08] Ubit Umarov : le nouveau cache du viewer est un exemple.
[12:08] Ubit Umarov : c'est un pas en arrière
[12:08] Ubit Umarov : l'ancien cache était meilleur.
[12:08] Misterblue Waves : J' ai découvert certains systèmes d'exploitations qui ne se comportent pas très bien pour accéder à des fichiers aléatoires dans des répertoires à plusieurs niveaux.  Thrash, thrash, thrash
[12:08] Jagga Meredith : ORACLE a l'habitude de proposer ses propres systèmes de fichiers "raw" multiples.
[12:09] Ubit Umarov : oui, les systèmes de fichiers des systèmes d'exploitation ne sont pas si bons pour le traitement des bases de données.
[12:09] Jagga Meredith : j'avoue, j'avais un stégosaure de compagnie à l'époque.
[12:09] Kayaker Magic : J'ai vu de très mauvaises performances avec le mysql fourni avec le système DreamGrid, quel mysql fonctionne sous WinCows ?
[12:09] Ubit Umarov : les choses habituelles génériques/spécialisées.
[12:10] Ubit Umarov : apache
[12:10] Ubit Umarov : oops
[12:10] Ubit Umarov : mysql
[12:10] Gavin.Hird @grid.xmir.org:8002 : mysql fonctionne généralement comme une merde, sans réglage c'est encore pire.
[12:11] Ubit Umarov : mais bien sûr, dans plusieurs domaines, notre code rend les bases de données trop lentes.
[12:12] Ubit Umarov : bien et fonctionne même sur sqlite
[12:12] Ubit Umarov : un jour, il faudra réécrire tout ce bazar.
[12:13] Andrew Hellershanks hoche la tête
[12:13] Gavin.Hird @grid.xmir.org:8002 : corrigez le code de postgres, mettez à jour mysql et vous obtiendrez un système beaucoup plus performant.

système de Tâches pour .NET

  • Planificateur de tâches : programme informatique permettant de planifier l'exécution automatique et périodique de tâches (commandes, scripts, programmes).
  • FIFO : file d'attente ou queue, dans laquelle les premiers éléments entrés sont aussi les premiers à sortir.
  • LIFO : La dernière donnée enregistrée est ainsi la première à être retirée (sauf commande particulière).
[12:14] Misterblue Waves : quel est le ressenti par rapport au système de Tâches pour .NET ? Devrions-nous retirer SmartThreads et passer à un planificateur de tâches (Task scheduler)?
[12:15] Ubit Umarov : pense que SmartThreads est toujours bien meilleur que le threapool natif.
[12:15] Ubit Umarov: qui provoque actuellement des fuites de threads sur mono.
[12:15] Ubit Umarov: bahh
[12:16] Ubit Umarov : et a toujours des problèmes de surcharge.
[12:16] Ubit Umarov : les réponses à ces problèmes sont "votre application est mauvaise... elle ne devrait pas demander autant de threads si rapidement".)
[12:17] Selby.Evans @grid.kitely.com:8002 : Au revoir tout le monde. 
[12:17] Ubit Umarov : la seule bonne application pour les gars de MS est celle qui ne fait rien, donc pas de bugs :)
[12:18] Ubit Umarov : salut Selby.Evans
[12:18] Misterblue Waves : au revoir Selby.
[12:18] Ubit Umarov : mais celles où ils répondent aux problèmes avec surcharge de thread ...
[12:18] Misterblue Waves : pas assez rapide :)
[12:19] Ubit Umarov : bien mais il fait mieux sous windows.
[12:19] Ubit Umarov : just smart permet aussi plusieurs pools indépendants.
[12:19] Ubit Umarov : etc.
[12:19] Ubit Umarov : ohh et amusant amusant
[12:20] Jamie.Jordan @grid.kitely.com:8002 : Bonne réunion, merci à tous.
[12:20] Ubit Umarov : le threadpool principal est composé d'un FIFO global et d'un LIFO par thread.
[12:20] Ubit Umarov : la cohérence temporelle ne signifie RIEN pour eux.
[12:20] Andrew Hellershanks : ok, Jamie. Merci. On se voit la semaine prochaine.
[12:21] Ubit Umarov : ( et le LILO et par thread, ne peuvent jamais bien fonctionner, et empêcher la pseudo surcharge )
[12:21] Ubit Umarov : mais bon, c'est comme ça...
[12:22] Ubit Umarov : c'est irritant que mono ne soit pas corrigé.
[12:22] Ubit Umarov : la fuite que je vois semble avoir un faible impact sur la mémoire.
[12:23] Ubit Umarov : mais bon
[12:23] Misterblue Waves : le système de tâches permet d'ajouter des programmes personnalisés et des pools de programmation multiples. C'est l'enveloppe officielle des threads :)
[12:23] Ubit Umarov : les tâches sont une stupidité.
[12:24] Ubit Umarov : il convertit tout le code en une machine statique complexe et lourde.
[12:24] Ubit Umarov : beaucoup plus lent et avec plus de fuites que les autres méthodes.
[12:25] Ubit Umarov : ahh et plus enclin à la surcharge, car il utilise plus de threads.
[12:25] Ubit Umarov : J'ai utilisé task async/await sur le serveur http.
[12:25] Ubit Umarov : MAUVAIS
[12:25] Ubit Umarov : :)
[12:26] Ubit Umarov : retour au modèle EPA
[12:26] Ubit Umarov : ou comment il est appelé
[12:28] Ubit Umarov : La tâche permet seulement un peu plus facile de lire le code de très faible performance.
[12:29] Ubit Umarov : bien sûr, MS dit que c'est le meilleur depuis .net 4.0 où ils l'ont introduit :)

Conclusion

[12:27] Andrew Hellershanks : Nous avons presque dépassé la moitié de l'heure. Il est temps de conclure pour aujourd'hui s'il n'y a pas de commentaires finaux pour aujourd'hui.
[12:28] Andrew Hellershanks : Je ne vois personne en train de taper, je vais donc mettre un terme à cette réunion. Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
[12:28] Motoko.Karu @login.digiworldz.com:8002 : Merci.