« Réunion du 28-11-2023 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Ligne 44 : Ligne 44 :
= Source=
= Source=
<!--
<!--
[12:40 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: 500ms I could justify perhaps, but a tenfold change is a bit much
[12:42 PM PT]  Andrew Hellershanks: My thought is to wonder why it requires so much CPU.
[12:42 PM PT]  Ubit Umarov: and fun when some objects can have 1k prims or more...
[12:42 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Linking is a heavy operation, it has to create a new object and copy all the parts
[12:44 PM PT]  Ubit Umarov: content that can be changed at runtime is great..  but ll is just suicidal
[12:44 PM PT]  Andrew Hellershanks: Why does it need to create a new object. You have two SOP/SOG items. It should not that much more complicated than updating one to link in to the other.
[12:44 PM PT]  Andrew Hellershanks: It should be not that much more...
[12:44 PM PT]  Ubit Umarov: seems they do not understand that is main reason why viewers at so bad relative to game engines
[12:45 PM PT]  Ubit Umarov: and one thing is content modified by humans, other it by scripts..
[12:45 PM PT]  Joe Magarac: Linking viewer side is cheap. It's just reparenting.
[12:46 PM PT]  Ubit Umarov: not really
[12:47 PM PT]  Ubit Umarov: but details...
[12:47 PM PT]  Joe Magarac: I've had to code it from scratch. It doesn't do much. Doesn't even cost an object creation.
[12:53 PM PT]  Andrew Hellershanks: The code handling linking of objects in the OS code used to have a lot of unneeded overhead but it was a lot better the last time I looked at it.
[12:53 PM PT]  Clifford.Hanger @alternatemetaverse.com:8002: I take it, its a no?
[12:53 PM PT]  Andrew Hellershanks: Clifford, you would have better luck asking the people working on voice solutions for OS.
[12:53 PM PT]  Ubit Umarov: you call it unneeded :p
[12:54 PM PT]  Clifford.Hanger @alternatemetaverse.com:8002: who would that be?
[12:54 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Still have to figure out how to fix that unlink bug
[12:55 PM PT]  Andrew Hellershanks: Ubit, It used to do a lot of work unlinking nodes from one list and then linking them to the other list, one at a time. With two linked lists the tail of one can point at the head of the next and you're done. The only tricky part is changing the root prim of the second object in to an ordinary prim then doing some renumbering.
[12:57 PM PT]  Ubit Umarov: wel i did change that link code yes..
[12:57 PM PT]  Andrew Hellershanks: Clifford, The first set of people that comes to mind are the ones behind EchoVoice.
[12:57 PM PT]  Andrew Hellershanks: Ubit, yes. It was changed and is a lot better.
[12:58 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Voice is going to require hundreds of hours of work most likely in just figuring out how it works and how it can be replaced. Unless it starts to rain money from the sky that'll take months of spare time
[12:58 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Voice is going to require hundreds of hours of work most likely in just figuring out how it works and how it can be replaced. Unless it starts to rain money from the sky that'll take months of spare time
[12:59 PM PT]  Clifford.Hanger @alternatemetaverse.com:8002: understood
[12:59 PM PT]  Clifford.Hanger @alternatemetaverse.com:8002: understood

Version du 30 novembre 2023 à 13:26

Changements du code de la semaine

  • Git master a été déplacé vers dotnet 6.0 : Mono et .net framework sont maintenant morts et son remplacés par dotnet. La version actuelle de dotnet est la 8.0, mais la 6.0 est une LTS et sera donc supportée pendant encore au moins un an.
  • La branche dotnet6 est maintenant "morte".
  • Le master précédent avec le code pour .net framework 4.x et Mono est stocké sur une branche appelée Mono-Net4X

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


Code général

Documentation

  • La documentation du code OpenSim n'existe que dans le code lui même. Pour l'heure, il faut lire le code, la documentation n'existe pas encore.
  • On peut chercher des mots clés dans les sources, dans un module spécifique.
  • Exemple : la copie d'objets et la vérification du mode god sont probablement quelque part dans Permissions.
  • Plus d'informations : http://opensimulator.org/wiki/Branches

Scripts

llCreatLink

  • Changement dans la spécification LSL qui fait passer le délai de llCreateLink de 1000ms à 100ms.
  • Quelques tests avec de grands ensembles de liens révèlent que cela ajoute pas mal de cpu. Les intervalles inférieurs, comme 10ms, font planter les threads directement.
  • Le code OpenSim restera à 1000 ms : dixit Ubit Umarov. La liaison est une opération lourde, il faut créer un nouvel objet et copier toutes les parties.
  • Le problème du manque de capacité des viewers par rapports aux moteurs de jeux est que le contenu peut être modifié pendant l'opération : il y a me contenu modifié par l'humain et le contenu modifié par le script.
  • Le code gérant la liaison des objets dans le code du système d'exploitation avait beaucoup de surcharge inutile, il a été modifié et il est bien meilleur.

Base de données

PostgresSQL

  • Les nouvelles versions de Postgres sont complètement boguées, donc les migrations elles-mêmes échouent.
    • soit les migrations doivent être modifiées, ce qui pourrait casser les anciennes versions de Postgres,
    • soit il faut faire de la détection de version et lancer des migrations différentes.
  • Il faut laisser Postgres corriger les bogues.

Double structure de base de données

  • MySQL et Apache CouchDB
  • Apache CouchDB est un système de gestion de base de données orienté documents, écrit en langage Erlang et distribué sous licence Apache. [1]. CouchDB est soutenu par Apache, donc il ne disparaîtra pas d'un jour à l'autre ce qui n'est pas le cas de MongoDB [2].
  • Les données identifiées comme appartenant à un utilisateur n'ont pas besoin de partager une grande table.

Modules

Chat vocal

  • Il faut se renseigner auprès des personnes qui s'occupent de solutions vocales pour OpenSim, comme EchoVoice : https://echovoice.infinitemetaverse.org/
  • Le chat voval va nécessiter des centaines d'heures de travail pour comprendre comment elle fonctionne et comment elle peut être remplacée. A moins qu'il ne se mette à pleuvoir de l'argent du ciel, cela prendra des mois de temps libre.

Bugs

Tests

Projets en cours / Infos

Viewers

Source