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

De OSWiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(23 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-22
source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-22
= Introduction Migration .net5=
= Introduction Migration .net5=
[11:03] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew
* [https://www.npgsql.org/ npgsql] permet aux programmes écrits en C#, Visual Basic, F# d'accéder au serveur de base de données PostgreSQL .


[11:03] Andrew Hellershanks : Bonjour à tous.
[11:03] '''Gavin.Hird @grid.xmir.org:8002 ''': Salut Andrew


[11:04] Ubit Umarov : Code de gravité Description État de suppression de la ligne de fichier du projet
[11:03] '''Andrew Hellershanks''' : Bonjour à tous.
 
[11:04] '''Ubit Umarov''' : Code de gravité Description État de suppression de la ligne de fichier du projet
Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly.    OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif
Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly.    OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif


[11:04] Ubit Umarov : par exemple
[11:04] '''Ubit Umarov''' : par exemple
 
[11:04] '''Ubit Umarov''' : les compteurs de performance ont également disparu.
 
[11:04] '''Andrew Hellershanks''' : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.
 
[11:04] '''Ubit Umarov''' : cela signifie aussi que certains de nos codes de statistiques ont disparu.
 
[11:05] '''Ubit Umarov''' : sur la migration vers .net5 [https://fr.wikipedia.org/wiki/.NET_Core ]
 
[11:05] '''Kayaker Magic''' : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.
 
[11:05] '''Ubit Umarov''' : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.
 
[11:06] '''Ubit Umarov''' : eh bien! pour faire cela il devra enlever des choses comme
 
[11:06] '''Ubit Umarov''' : la carte du monde
 
[11:06] '''Ubit Umarov''' : etc...
 
[11:06] '''Ubit Umarov''' : puis réécrire avec des bibliothèques alternatives...
 
[11:07] '''Ubit Umarov''' : les textures lludp [http://opensimulator.org/wiki/LLUDP_Dissector] sont également mortes.
 
[11:07] '''Ubit Umarov''' : bien comme je l'ai dit, une tonne de choses.
 
[11:07] '''Ubit Umarov''' : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.
 
[11:07] '''Ubit Umarov''' : Je sais qu'il y travaille.
 
[11:08] '''Ubit Umarov''' : de mon côté, aussi comme je l'ai dit, pas de précipitation.
 
[11:08] '''Ubit Umarov''' : il ne faut pas se précipiter.
 
[11:08] '''Andrew Hellershanks''' : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.
 
[11:08] '''Ubit Umarov''' : ohh vous devriez voir .netcore 2
 
[11:08] '''Ubit Umarov''' : encore pire
 
[11:08] '''Ubit Umarov''' : même 3
 
[11:09] '''Ubit Umarov''' : c'est  à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.
 
[11:09] '''Ubit Umarov''' : donc ils ont ajouté beaucoup plus de .net4.8 dessus.
 
[11:10] '''Andrew Hellershanks''' : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.
 
[11:10] '''Ubit Umarov''' : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...
 
[11:10] '''Ubit Umarov''' : les parties qu'ils ont ajoutées... pour Windows seulement.
 
[11:10] '''Ubit Umarov''' : net5-0-windows a un code image.
 
[11:10] '''Misterblue Waves''' : je me demande si PrimMesher et libomv [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/] peuvent être mis à jour vers .NET6... c'est un projet de week-end.
 
[11:11] '''Ubit Umarov''' : même problème.
 
[11:11] '''Ubit Umarov''' : impossible
 
[11:11] '''Ubit Umarov''' : ça dépend des bitmaps
 
[11:11] '''Ubit Umarov''' : et d'autres choses encore
 
=Modifications dans la base de données =
* [https://fr.wikipedia.org/wiki/NuGet NuGet]:  gestionnaire de paquets de la plate forme de développement Microsoft .NET.
 
[11:11] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : En parlant de librairies alternatives, je me suis posé l'autre jour et j'ai cloné les interfaces Mysql [https://fr.wikipedia.org/wiki/MySQL ] et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est  maintenant supporté par MariaDB [https://mariadb.org/ ]. Les tests unitaires passent, bien qu'ils utilisent toujours le connecteur Mysql par défaut et je n'ai pas fait beaucoup de tests pour savoir si toutes les parties fonctionnent. Ubit a cherché un connecteur MariaDB directement, mais il semble que, tout comme  npgsql  plus récent, il soit livré avec un tas de librairies stupides. J'ai vérifié la longueur des tables et dans l'ensemble des tables, j'ai économisé plus de 280 octets juste en changeant ces champs, ce qui revient à près de 30% de la taille de la structure globale.
 
[11:13] '''Misterblue Waves''' : J'ai utilisé MariaDB comme base de données. Pas de problèmes, mais je ne suis pas un testeur de gros chargements.
 
[11:14] '''Ubit Umarov''' : maria est maintenant ce que les distros aiment.
 
[11:14] '''Andrew Hellershanks''' : C'est le cas depuis un certain temps.
 
[11:14] '''Ubit Umarov''' : je suppose que c'est comme ça depuis qu'Oracle a pris le contrôle de Mysql.
 
[11:15] '''Andrew Hellershanks''' acquiesce.
 
[11:15] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : MariaDB 10.7 [https://mariadb.com/kb/en/mariadb-1073-release-notes/ ] est sorti la semaine dernière, il y a maintenant le type de champ UUID, qui est un peu plus petit en taille pour stocker les UUIDs, le truc c'est que, pour en tirer avantage, il faut trouver un moyen de s'interfacer avec lui à un niveau plus bas que de pousser des chaînes de caractères afin d'obtenir des performances, le simple fait de changer les champs en UUID réduit juste la taille de la base de données en général, les performances des requêtes pas tellement.
 
[11:16] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il faut une conversion binaire directe ou quelque chose pour s'interfacer avec la lui, mais pour cela il faut un connecteur et celui qui est sur nuget a besoin de quelques bidouillages pour fonctionner.
 
=Problème des bibliothèques d'images avec Mono =
* [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://www.mono-project.com/docs/tools+libraries/tools/mkbundle/ MKBundle] Mono peut transformer les applications .NET (code exécutable et ses dépendances) en exécutables autonomes qui ne dépendent pas de l'installation de Mono sur le système afin de simplifier le déploiement des applications .NET. Pour ce faire, l'outil mkbundle, un compilateur croisé, produit un exécutable natif pour toutes les plates-formes supportées par Mono à partir d'un point d'entrée assembly initial, de ses dépendances .NET et de tout assembly supplémentaire requis par votre application.
 
[11:12] '''Ubit Umarov''' : MS a refusé de supporter l'image sur toutes les plateformes, comme linux.
 
[11:12] '''Ubit Umarov''' : à cause de  libgdiplus [https://www.mono-project.com/docs/gui/libgdiplus/ ], Cairo [https://fr.wikipedia.org/wiki/Cairo_(logiciel) ], etc.
 
[11:12] '''Ubit Umarov''' : ils refusent d'assurer la maintenance
 
[11:12] '''Ubit Umarov''' : un peu compréhensible
 
[11:13] '''Misterblue Waves''' : certains problèmes ne devraient pas être volontaires.
 
[11:13] '''Ubit Umarov''' : le Cairo et le Pango [https://fr.wikipedia.org/wiki/Pango ]...
 
[11:16] '''Andrew Hellershanks''' : Si le code utilise cairo, pango, etc., ils devraient toujours être utilisables dans le code du système d'exploitation en tant que bibliothèques externes.
 
[11:16] '''Ubit Umarov''' : comme je vous l'ai dit, il faut diviser la base de données.
 
[11:16] '''Ubit Umarov''' : et utiliser un autre connecteur.
 
[11:17] '''Ubit Umarov''' : bitmap sur mono dépend de pango, cairo et libgdiplus
 
[11:17] '''Ubit Umarov''' : que MS refuse d'utiliser
 
[11:17] '''Ubit Umarov''' : donc pas de code image pour linux sur .net5 ou 6
 
[11:17] '''Ubit Umarov''' : comme je l'ai dit .netx-windows l'a... windows seulement
 
[11:18] '''Andrew Hellershanks''' : Pourquoi le code ne peut pas utiliser ces bibliothèques de toute façon même si MS ne les supporte pas dans .net ?
 
[11:18] '''Ubit Umarov''' : parce qu'ils n'ajouteront pas à .net, le code qui dépend des bibliothèques qu'ils refusent d'utiliser.
 
[11:18] '''Gavin.Hird @grid.xmir.org:8002 ''': il n'y a pas d'argent là-dedans.
 
[11:18] '''Andrew Hellershanks''' : D'autres projets utilisent cairo, pango, etc. donc ces bibliothèques sont toujours là.
 
[11:19] '''Gavin.Hird @grid.xmir.org:8002 ''': MS a toujours cherché à enfermer ses utilisateurs.
 
[11:19] '''Ubit Umarov''' : et le code .netx est aussi pour android et ios.
 
[11:19] '''Andrew Hellershanks''' : Cela n'a aucun sens. Si vous utilisez .NET, vous n'avez aucun moyen d'utiliser une bibliothèque tierce ?
 
[11:20] '''Ubit Umarov''' : il semble qu'ils pensent aussi que personne ne l'utilise vraiment.
 
[11:20] '''Ubit Umarov''' : il semble que certains disent de ne voir que le code pour faire le q-code :)
 
[11:20] '''Ubit Umarov''' : ils disent d'utiliser d'autres bibliothèques d'images pour .net
 
[11:21] '''Ubit Umarov''' : bien
 
[11:21] '''Ubit Umarov''' : cela veut dire que tout notre code devra être réécrit.
 
[11:21] '''Ubit Umarov''' : code jpeg2000 [https://fr.wikipedia.org/wiki/JPEG_2000], maps scultp... maps... etc...
 
[11:22] '''Ubit Umarov''' : textures dynamiques
 
[11:22] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Beaucoup de ces choses sont assez abstraites aussi, comprendre comment cela fonctionne actuellement est une grosse tâche en soi, et encore moins la réécrire.
 
[11:22] '''Ubit Umarov''' : tout est perdu, jusqu'à une réécriture avec autre chose.
 
[11:22] '''Ubit Umarov''' : je pense que j'ai seulement listé des choses concrètes.
 
[11:22] '''Misterblue Waves''' : quelles sont les plateformes cibles "supportées" ? Window10/11, Ubuntu (mono6), IOS ?
 
[11:23] '''Andrew Hellershanks''' : La solution la plus simple est d'écrire notre propre code pour remplacer les bits manquants/non supportés afin que le code principal n'ait pas besoin d'être complètement réécrit.
 
[11:24] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Andrew, tu veux écrire une bibliothèque d'images, bien sûr, je vais programmer la soirée de lancement, on se voit en 2035.
 
[11:24] '''Ubit Umarov''' : bien et toujours pas besoin de se précipiter.
 
[11:24] '''Ubit Umarov''' : malheureusement le mono a perdu beaucoup de correctifs mais il est toujours là.
 
[11:24] '''Ubit Umarov''' : donc pas besoin de se précipiter.
 
[11:25] '''Ubit Umarov''' : tout changement vers .net5(6 signifie aussi la perte de beaucoup de bon matériel.
 
[11:25] '''Andrew Hellershanks''' : Si le .NET actuel/ancien utilise pango, cairo, etc. Pourquoi ne pas simplement faire une bibliothèque qui est une interface entre le code actuel et les bibliothèques backend qui étaient déjà utilisées ?
 
[11:25] '''Ubit Umarov''' : juste parce que ce matériel ne peut pas faire tourner le dernier Windows.
 
[11:25] '''Ubit Umarov''' : ou même le dernier linux
 
[11:25] '''Andrew Hellershanks''' : Que dit MS aux développeurs pour le passage à .NET 5/6 ? Réécrivez vos programmes ?
 
[11:26] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je suis plus préoccupé par le fait que la dernière version de mono ne supporte plus postgres [https://fr.wikipedia.org/wiki/PostgreSQL] sans changements massifs, je ne suis pas sûr que mysql ne suive pas bientôt.
 
[11:26] '''Ubit Umarov''' : oui, c'est ce qu'ils disent.
 
[11:26] '''Ubit Umarov''' : comme je l'ai dit, la situation était bien pire à l'époque de .netcore 2.0.
 
[11:26] '''Misterblue Waves''' : @Andrew c'est vrai que nous n'utilisons pas toutes les fonctionnalités d'Image. La plupart des trucs qui "ne seront pas supportées" tournent  autour des fonctions qui touchent aux images et modifient les formats internes (pour la performance et autres).
 
[11:26] '''Ubit Umarov''' : parce que la plupart du code ne fonctionne pas dessus.
 
[11:26] '''Andrew Hellershanks''' : S'ils continuent à faire ça, c'est une excellente démonstration pour expliquer pourquoi vous ne devriez pas utiliser .NET dans vos programmes.
 
[11:27] '''Ubit Umarov''' : allez dire aux développeurs originaux d'opensim que le choix de c# [https://fr.wikipedia.org/wiki/C_sharp] était un choix très stupide.
 
[11:27] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : A ce moment là, on pourrait aussi bien réécrire en C [https://fr.wikipedia.org/wiki/C_(langage)] directement et jeter la dépendance au framework par la fenêtre, mais bon sang, ça a l'air amusant... non !
 
[11:27] '''Ubit Umarov''' : c'était très stupide, mais trop tard pour changer.
 
[11:28] '''Ubit Umarov''' : bien sûr, commencer une telle chose en c++ [https://fr.wikipedia.org/wiki/C%2B%2B] avec le support multi.os était beaucoup plus difficile à faire.
 
[11:28] '''Gavin.Hird @grid.xmir.org:8002 ''': quelqu'un doit télécharger le code du serveur SL :-)
 
[11:29] '''Ubit Umarov''' : tellement facile que personne ne l'aurait fait.
 
[11:29] '''Ubit Umarov''' : sans la promesse originale c# de fonctionner (mal) sur windows et linux
 
[11:29] '''Andrew Hellershanks''' : Je n'ai pas fait assez de programmation en C# pour réaliser qu'il faut utiliser .NET.
 
[11:29] '''Ubit Umarov''' : et jusqu'à présent ça marchait...
 
[11:30] '''Ubit Umarov''' : il n'y a pas de c# sans .net.
 
[11:30] '''Ubit Umarov''' : fondamentalement.
 
[11:30] '''Ubit Umarov''' : en tout cas, certaines parties essentielles.
 
[11:30] '''Ubit Umarov''' : nous ne pouvons pas utiliser linq [https://fr.wikipedia.org/wiki/Language_Integrated_Query] par exemple.
 
[11:31] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La seule option est mkbundle [https://www.mono-project.com/docs/tools+libraries/tools/mkbundle/] , qui consiste à insérer .net dans l'application, ce qui augmente sa taille et ne garantit pas non plus son fonctionnement, surtout pas aux niveaux de complexité d'OpenSim.
 
[11:31] '''Ubit Umarov''' : mais assez de discussions académiques.
 
[11:31] '''Ubit Umarov''' : maintenant c'est le c# et c'est comme ça.
 
[11:31] '''Ubit Umarov''' : juste un dur chemin à parcourir.
 
[11:31] '''Ubit Umarov''' : mais encore une fois, pas besoin de se précipiter.
 
[11:31] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Bien difficile si MS décide de continuer à gâcher le plaisir.
 
[11:31] '''Ubit Umarov''' : plus nous attendons, plus cela devrait être facile.
 
[11:31] '''Ubit Umarov''' : je l'espère.
 
[11:32] '''Ubit Umarov''' : parce que d'autres le feront :p
 
[11:32] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je suis assez fou pour espérer qu'ils finissent par avoir un cerveau.
 
[11:32] '''Andrew Hellershanks''': :)
 
[11:32] '''Ubit Umarov''' : tous les logiciels sont de plus en plus fous.
 
[11:32] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je blâme javascript [https://fr.wikipedia.org/wiki/JavaScript]
 
[11:33] '''Ubit Umarov''' : et les gens seront obligés de réécrire les choses.
 
[11:33] '''Andrew Hellershanks''': hehe
 
[11:33] '''Ubit Umarov''' : Je ne sais pas.
 
[11:33] '''Ubit Umarov''' : je pense que nous avons 2 ans pour voir le problème du .net6.
 
[11:34] '''Ubit Umarov''' : peut-être plus
 
=Changements dans OpenSim cette semaine =
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim  Journal des commits OpenSim]
 
[11:34] '''Ubit Umarov''' : à propos d'opensim
 
[11:34] '''Ubit Umarov''' : pas beaucoup de changements la semaine dernière, je pense.
 
[11:34] '''Ubit Umarov''' : en fait, j'ai failli sortir la 0.9.2.1 aujourd'hui.
 
[11:35] '''Ubit Umarov''' : la date du 22-2-22 était une date de sortie amusante.
 
[11:35] '''Vincent.Sylvester @hg.zetaworlds.com:8002''': hehe
 
[11:35] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je n'avais même pas remarqué ça.
 
[11:35] '''Andrew Hellershanks''' : Juste un changement cette semaine dans le module profiles et une correction d'un message de log.
 
[11:36] '''Ubit Umarov''' : j'ai mis à jour libomv avec un code plus rapide de l'OSD [http://opensimulator.org/wiki/OpenStructuredData] à json [https://fr.wikipedia.org/wiki/JavaScript_Object_Notation].
 
[11:36] '''Andrew Hellershanks''' : Pour moi, ce serait une date de version le 2-22-22. Pas aussi amusante mais presque.
 
[11:36] '''Ubit Umarov''' : et c'était en gros ça.
 
[11:36] '''Kayaker Magic''' : J'ai une question sur la dé-duplication. Est-ce qu'OpenSim fait cela sur les images ? J'ai entendu dire que Kitely [https://www.kitely.com/services] le fait.
 
[11:37] '''Ubit Umarov''' : on dirait qu'il faut laver ses oreilles pour avoir l'info complète.
 
[11:37] '''Ubit Umarov''': :p
 
= La déduplication des assets=
* [https://fr.wikipedia.org/wiki/D%C3%A9duplication Déduplication] : En informatique, la déduplication est une technique de stockage de données, consistant à factoriser des séquences de données identiques afin d'économiser l'espace utilisé.
* [https://fr.wiktionary.org/wiki/hachage#Nom_commun_2 Hachage] : Opération qui consiste à appliquer une fonction mathématique permettant de créer l’empreinte ou signature numérique d’un message (d’un bloc de données), transformant le message de taille variable en un code de taille fixe, en vue de son authentification ou de son stockage.
 
[11:37] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La déduplication sur les assets est faite sur la base d'un hachage, si le hachage est le même, l'élément est juste lié via la Base de données (BD), les textures dynamiques et autres sont côté région donc elles sont effacées de toute façon.
 
[11:37] '''Andrew Hellershanks''' : Kayaker, il existe un système d'assets qui élimine les doublons.
 
[11:37] '''Ubit Umarov''': fsassets [http://opensimulator.org/wiki/FSAssets_Service/fr]
 
[11:38] '''Ubit Umarov''': et xassets [https://www.xassets.com/]
 
[11:38] '''Ubit Umarov''' : ou comment on l'appelle.
 
[11:38] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : sras [https://github.com/coyled/sras] et phpsas le font aussi :)
 
[11:38] '''Andrew Hellershanks''' : Ouais, fsassets.
 
[11:38] '''Andrew Hellershanks''' : SRAS est venu avant fsassets.
 
[11:38] '''Ubit Umarov''' : oui fsassets est une version c# de sras.
 
[11:38] '''Ubit Umarov''' :  en gros
 
[11:39] '''Ubit Umarov''' : xassets le fait, mais le stockage se fait toujours sur mysql.
 
[11:39] '''Ubit Umarov''' : encore marqué expérimental.
 
[11:39] '''Kayaker Magic''' : Quand le hachage des images est-il calculé ? Après le décodage des images en bitmaps [https://fr.wikipedia.org/wiki/Windows_bitmap] bruts ?
 
[11:40] '''Ubit Umarov''': sha256 [https://fr.wikipedia.org/wiki/SHA-256]
 
[11:40] '''Ubit Umarov''' : les données de l'asset Second Life (SL)
 
[11:40] '''Ubit Umarov''' : et exactement comme l'asset de SL.
 
[11:40] '''Ubit Umarov''' : une chose amusante dont les gens parlent et que les viewers oublient.
 
[11:41] '''Ubit Umarov''' : nous n'avons que des assets au format SL.
 
[11:41] '''Kayaker Magic''' : Donc après les avoir compressé pour la base de donnée des assets ? Est-ce que c'est un zip [https://fr.wikipedia.org/wiki/ZIP_(format_de_fichier)] ou les images sont juste compressées en jpg2000 ?
 
[11:41] '''Ubit Umarov''' : toute conversion vers d'autres formats est impossible à faire en temps réel.
 
[11:41] '''Ubit Umarov''' : à moins que ce ne soit pour des petits concepts.
 
[11:41] '''Ubit Umarov''' : en fait pas besoin, car il n'y a pas de concept à valider.
 
[11:42] '''Ubit Umarov''' : pour utiliser d'autres formats, le stockage des assets devra être modifié pour les ajouter.
 
[11:43] '''Ubit Umarov''' : Eh bien, le viewer d'avination [https://www.gamespedition.com/pc-games/simulation-games/avination] unreal utilisait des formats de ressources SL.
 
[11:43] '''Misterblue Waves''' : oui... nouveau serveur d'assets. Nouveaux formats, nouvelles permissions d'accès, évolutif... tout un autre projet.
 
[11:44] '''Ubit Umarov''': Oui
 
[11:44] '''Misterblue Waves''' : dans les viewers existantes, la conversion du format des assets SL vers un format utilisable est entièrement faite dans le client.
 
[11:44] '''Ubit Umarov''' : un UUID [https://fr.wikipedia.org/wiki/UUID] d'asset devra pointer vers plusieurs formats.
 
[11:44] '''Ubit Umarov''' : comme une texture en jp2000 et dds
 
[11:45] '''Misterblue Waves''' : peut-être en faire un plugin nginx [https://fr.wikipedia.org/wiki/NGINX].
 
[11:45] '''Ubit Umarov''' : bien et le faire  RAPIDEMENT.
 
[11:45] '''Ubit Umarov''' : la partie RAPIDE est quelque chose que tout le monde oublie.
 
[11:45] '''Ubit Umarov''' : et sans cela, c'est inutile.
 
= Viewers : Les FPS =
 
[11:46] '''Ubit Umarov''' : nous savons tous que n'importe quel viewer peut être fait...
 
[11:46] '''Ubit Umarov''': celui d'unreal ''was should most of a region''
 
[11:46] '''Ubit Umarov''' : à 6fps [https://fr.wikipedia.org/wiki/Images_par_seconde] ! !!
 
[11:46] '''Ubit Umarov''' : donc un beau travail... inutile... mais beau.
 
[11:47] '''Ubit Umarov''' : Firestorm (FS)[https://www.firestormviewer.org/] rend la même région avec 40 fps et fait tout ce qu'il faut.
 
[11:47] '''Ubit Umarov''' : vous voyez ce que je veux dire ?
 
[11:48] '''Ubit Umarov''' : err ça m'aiderait si je tapais correctement :p
 
[11:48] '''Ubit Umarov''' : celui d'unreal rendait une région à 6fps :)
 
[11:48] '''Ubit Umarov''' : toujours pas de terrain, d'eau ou d'avatars.
 
[11:48] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Pendant ce temps, la nouvelle version de FS semble améliorer les performances d'un bon 10% d'après ce que je peux dire, je ne me rappelle pas avoir jamais obtenu plus de 60fps ici.
 
[11:49] '''Ubit Umarov''' : Ils améliorent les performances.
 
[11:49] '''Ubit Umarov''' : ils ont un autre lot de changements pour un prochain viewer.
 
[11:49] '''Ubit Umarov''' : FS est en train de les ajouter ainsi que quelques autres.
 
[11:50] '''Ubit Umarov''' : bien sûr, cela dépend des créateurs de régions.
 
[11:50] '''Ubit Umarov''' : vous devrez faire attention à la construction de la région si vous voulez des fps.
 
[11:50] '''Ubit Umarov''' : et avoir une police des mœurs :p
 
[11:51] '''Ubit Umarov''' : ne pas laisser entrer les avatars dont la complexité est inférieure à 700000.
 
[11:51] '''Ubit Umarov''': :)
 
[11:51] '''Andrew Hellershanks''': :)
 
=Pas d'annonce de nouvelle version aujourd'hui =
[11:52] '''Ubit Umarov''' : alors quelles sont les nouvelles que vous apportez ?
 
[11:52] '''Ubit Umarov''' : sur opensim...
 
[11:52] '''Andrew Hellershanks''' : Pas de nouvelles, bonnes nouvelles ? ;)
 
[11:53] '''Andrew Hellershanks''' : Y aura-t-il un communiqué aujourd'hui ?
 
[11:53] '''Ubit Umarov''' : si c'est à propos de l'Ukraine, oui.
 
[11:53] '''Ubit Umarov''' : non, je ne vais pas le faire aujourd'hui.
 
[11:54] '''Ubit Umarov''' : osgrid [https://www.osgrid.org/] n'en a pas fait non plus sur la 0.9.2.1 [http://opensimulator.org/wiki/0.9.2.1_Release/fr] en gros
 
[11:55] '''Ubit Umarov''' : mais diva [http://opensimulator.org/wiki/User:Diva] l'attend pour sortir son code [http://opensimulator.org/wiki/Wifi] .
 
[11:56] '''Ubit Umarov''' : Je lui avais promis une sortie en janvier.
 
[11:56] '''Ubit Umarov''' : et nous sommes presque en mars :)
 
[11:56] '''Gavin.Hird @grid.xmir.org:8002 ''': mais quelle année ?
 
[11:57] '''Ubit Umarov''' : oui, je ne lui ai pas dit l'année... mais elle a supposé 2022 :)
 
[11:57] '''Gavin.Hird @grid.xmir.org:8002''' : :-)
 
[11:57] '''Ubit Umarov''' : donc je ne peux pas utiliser cette astuce avec elle : p
 
[11:58] '''Ubit Umarov''' : bien et les utilisateurs qui demandent le code.
 
[11:58] '''Gavin.Hird @grid.xmir.org:8002 ''': ils doivent supplier, demander ne suffira pas.
 
[11:59] '''Ubit Umarov''': :)
 
=Déduplication : efficacité incertaines et dépendantes de nombreux facteurs =
 
[11:59] '''Andrew Hellershanks''' : Wow. Cette heure est passée à toute vitesse. Nous sommes déjà au début de l'heure.
 
[12:00] '''Andrew Hellershanks''' : Avez-vous des questions ou des commentaires à formuler avant de clore cette réunion ?
 
[12:02] '''Andrew Hellershanks''' : Kayaker, pour info, dans une grande base de données, un système de stockage des assets basé sur le hachage peut réduire considérablement la table des assets. J'ai vu des réductions de 25 à 50 % de la taille de la table.
 
[12:02] '''Ubit Umarov''' : malheureusement, la taille de la table ne signifie rien :p
 
[12:03] '''Ubit Umarov''' : bien sûr la taille des tables est plus petite, juste parce que les données de l'asset ne sont pas stockées sur elle, mais sur un fichier disque.
 
[12:03] '''Kayaker Magic''' : J'étais étonné que les hachages d'images soient susceptibles d'être  aussi différents pour des images similaires.
 
[12:03] '''Andrew Hellershanks''' : oui, mais c'est une économie substantielle d'espace disque utilisé.
 
[12:04] '''Kayaker Magic''' : Et je ne fais pas confiance à jpg [https://fr.wikipedia.org/wiki/JPEG]  pour produire la même image à partir des mêmes données 2 fois de suite...
 
[12:04] '''Ubit Umarov''' : je suppose que beaucoup de personnes téléchargent les mêmes choses.
 
[12:04] '''Ubit Umarov''' : bien, ce n'est pas jpg, c'est jpeg2000, un peu différent.
 
[12:05] '''Ubit Umarov''' : et avec des paramenters fixés sur les viewers.
 
[12:05] '''Ubit Umarov''' : donc les données finales peuvent être mieux identifiées.
 
[12:05] '''Ubit Umarov''' : sinon, le hache  est juste une perte de temps.
 
[12:05] '''Ubit Umarov''' : même chose pour les meshes [https://fr.wikipedia.org/wiki/Mesh_(objet)] ...
 
[12:06] '''Ubit Umarov''' : le hash n'a d'effet que si le mesh est téléchargé avec les mêmes paramètres et un viewer identique.
 
[12:06] '''Ubit Umarov''' : donc les bits finaux sont exactement les mêmes.
 
[12:06] '''Ubit Umarov''' : ou alors encore une fois le hachage est inutile.
 
[12:07] '''Ubit Umarov''' : donc en fait, nous avons des doutes sur son efficacité réelle.
 
[12:07] '''Ubit Umarov''' : mais les gens disent que c'est le cas... donc... il faut y croire,
 
[12:08] '''Ubit Umarov''' : et les bons viewers n'ajoutent pas la date de création et l'uuid de l'uploader aux données binaires.
 
[12:08] '''Ubit Umarov''' : en supposant que le code de la région le fasse (et il ne le fait pas).
 
[12:08] '''Ubit Umarov''' : si le mesh était spécifié ainsi, le hache  échouerait toujours.
 
[12:09] '''Kayaker Magic''' : Une sorte de hache qui ne regarde que les données de l'image, ou les données des vertex du mesh serait bien.
 
[12:09] '''Misterblue Waves''' : je vais courir dans RL... je serai ici virtuellement.
 
[12:09] '''Ubit Umarov''' : non.
 
[12:09] '''Ubit Umarov''' : le hache ne regarde que les données brutes des assets.
 
[12:09] '''Andrew Hellershanks''': ok, Misterblue.
 
[12:09] '''Ubit Umarov''' : il ne peut pas accéder aux détails des assets.
 
[12:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Quelque part dans ce bazar, quelqu'un a défini xml[https://fr.wikipedia.org/wiki/Xml]  utf16 [https://fr.wikipedia.org/wiki/UTF-16]  pour les linksets (objets liés)  même si toutes les données sont utf8 [https://fr.wikipedia.org/wiki/UTF-8] -.-.
 
[12:09] '''Ubit Umarov''' : pas le temps pour cela.
 
[12:10] '''Ubit Umarov''' : nahh pense que la plupart sont en fait utf8 disant qu'ils sont utf16
 
[12:10] '''Gavin.Hird @grid.xmir.org:8002 ''': êtes-vous sûr qu'il ne peut pas regarder les données des assets ?
 
[12:10] '''Ubit Umarov''' : ce n'est pas comme ça que ça se passe.
 
[12:10] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oui, c'est ce que je veux dire, l'en-tête xml réclame utf16 sans raison, ce qui m'a déconcerté au début.
 
[12:10] '''Ubit Umarov''' : et non... ce serait très lent de regarder par type d'asset [http://opensimulator.org/wiki/Assets].
 
[12:10] '''Gavin.Hird @grid.xmir.org:8002 ''': sur postgres, j'ai un outil qui, en regardant les enregistrements individuels, décode les images dans la table des assets à la volée.
 
[12:11] '''Gavin.Hird @grid.xmir.org:8002 ''': ils sont juste stockés dans un fichier blob [https://fr.wikipedia.org/wiki/Blob#Informatique].
 
[12:11] '''Ubit Umarov''' : même faire sha256 n'est pas si rapide.
 
[12:12] '''Ubit Umarov''' : certains cpus ont une aide matérielle pour cela, mais je ne suis pas sûr que .net l'utilise.
 
[12:12] '''Gavin.Hird @grid.xmir.org:8002 ''': il suffit de le faire à la première écriture dans cette table.
 
[12:12] '''Ubit Umarov''': non
 
[12:12] '''Ubit Umarov''' : à chaque téléchargement
 
[12:12] '''Gavin.Hird @grid.xmir.org:8002 ''': oui, mais les téléchargements ne sont pas si fréquents.
 
[12:13] '''Ubit Umarov''' : et cela n'a pas d'importance.
 
[12:13] '''Ubit Umarov''' : tout bit modifié implique un autre hachage.
 
[12:13] '''Andrew Hellershanks''' : ouais.
 
[12:13] '''Ubit Umarov''' : pour le moment nous ne remplissons pas la date de création, et l'id du créateur de la spécification du mesh.
 
[12:13] '''Gavin.Hird @grid.xmir.org:8002 ''': les données d'image ne peuvent pas être modifiées dans le monde, donc seuls les téléchargements doivent être "re-hachés".
 
[12:13] '''Ubit Umarov''' : donc au moins ce n'est pas un problème.
 
[12:14] '''Ubit Umarov''' : même si le même mesh avec les mêmes paramètres sera téléchargé différemment.
 
[12:14] '''Ubit Umarov''' : en fonction du viewer.
 
[12:14] Gavin.Hird @grid.xmir.org:8002: oui
 
[12:14] '''Gavin.Hird @grid.xmir.org:8002 ''': mais les données de l'image doivent être assez constantes.
 
[12:15] '''Ubit Umarov''' : mais comme je l'ai dit, il semble que le hachage permette de faire des économies, donc c'est mieux que rien.
 
[12:15] '''Ubit Umarov''' : jpeg2000 constant pourquoi ?
 
[12:15] '''Gavin.Hird @grid.xmir.org:8002 ''': il n'y a pas beaucoup de mises à jour de cette spécification...
 
= La licence Kakadu (KDU) =
* KDU / Kakadu : Kakadu est une bibliothèque à code fermé pour encoder et décoder les images JPEG 2000. Elle implémente le standard ISO/IEC 15444-1 entièrement dans la partie 1, et partiellement dans les parties 2-3. Kakadu est une marque déposée de NewSouth Innovations Ltd. [https://en.wikipedia.org/wiki/Kakadu_(software)] [https://wiki.secondlife.com/wiki/KDU_Implementation]
[12:15] '''Ubit Umarov''' : fait avec différentes versions d'openjpeg [https://fr.wikipedia.org/wiki/OpenJPEG] sur  kdu
 
[12:15] '''Gavin.Hird @grid.xmir.org:8002''':nous n'utilisons pas kdu
 
[12:16] '''Gavin.Hird @grid.xmir.org:8002''': aucun viewer ne le fait pour  opensim
 
[12:16] '''Ubit Umarov''' : les bits de précision inférieurs sont fins.
 
[12:16] '''Ubit Umarov''' : pensez-y...
 
[12:16] '''Ubit Umarov''' : je pense que Firestorm paye kdu
 
[12:16] '''Gavin.Hird @grid.xmir.org:8002 ''': personne ne veux  payer des milliers de dollars pour une licence KDU pour opensim.
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': FS a obtenu le KDU de Linden Lab (LL).
 
[12:17] '''Ubit Umarov''' : ce n'est pas pour opensim.
 
[12:17] '''Ubit Umarov''' : c'est pour tout le monde
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': Kokua[https://kokua.atlassian.net/wiki/home] a payé pour
 
[12:17] '''Andrew Hellershanks''': kdu?
 
[12:17] '''Ubit Umarov''' : les viewers ne payent pas kdu pour sl ou opensim
 
[12:17] '''Ubit Umarov''' : ce n'est pas comme Havok [https://defr.abcdef.wiki/wiki/Havok_(Software) ].
 
[12:17] '''Gavin.Hird @grid.xmir.org:8002 ''': ils paient pour KDU.
 
[12:17] '''Ubit Umarov''' : ils payent par viewer.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 ''': sans aucune chance d'obtenir la couverture des coûts pour opensim, personne ne voudra payer pour cela.
 
[12:18] '''Ubit Umarov''' : donc s'ils payent "pour sl" ils ont payé "pour opensim".
 
[12:18] '''Andrew Hellershanks''' : J'ai cherché kdu et le premier résultat était General Sir John Kotelawala Defence University :)
 
[12:18] '''Ubit Umarov''' : contrairement à Havok, où ils utilisent simplement la licence LL.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 ''': oui, mais le seul qui a payé pour KDU est Kokua.
 
[12:18] '''Gavin.Hird @grid.xmir.org:8002 '''chuchote : FS l'a obtenu de LL
 
[12:19] '''Ubit Umarov''': ok


[11:04] Ubit Umarov : les compteurs de performance ont également disparu.
[12:19] '''Gavin.Hird @grid.xmir.org:8002 ''': à part cela, personne ne l'utilise à cause de son coût.


[11:04] Andrew Hellershanks : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.
[12:19] '''Ubit Umarov''' : yeha FS est livré avec openjpg pour opensim


[11:04] Ubit Umarov : cela signifie aussi que certains de nos codes de statistiques ont disparu.
[12:19] '''Gavin.Hird @grid.xmir.org:8002''': oui


[11:05] Ubit Umarov : sur la migration vers [https://fr.wikipedia.org/wiki/.NET_Core .net5]
[12:20] '''Gavin.Hird @grid.xmir.org:8002 ''': pas autorisé à utiliser la licence en dehors de SL.


[11:05] Kayaker Magic : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.
[12:21] '''Gavin.Hird @grid.xmir.org:8002 ''': j'ai donc dû retirer le support KDU des builds 3.0.


[11:05] Ubit Umarov : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.
= Retour à la déduplication : les métadonnées=


[11:06] Ubit Umarov : eh bien! pour faire cela il devra enlever des choses comme
[12:22] '''Ubit Umarov''' : toutes ces différences font échouer la déduplication.


[11:06] Ubit Umarov : la carte du monde
[12:22] '''Ubit Umarov''' : je ne vais pas entrer dans le détail des  FPUs [https://fr.wikipedia.org/wiki/Unit%C3%A9_de_calcul_en_virgule_flottante] de tous les cpu qui sont différents etc...


[11:06] Ubit Umarov : etc...
[12:23] '''Ubit Umarov''' : les produits Intel [https://fr.wikipedia.org/wiki/Intel]  ont des bugs, vous vous souvenez ? :P


[11:06] Ubit Umarov : puis réécrire avec des bibliothèques alternatives...
[12:24] '''Ubit Umarov''' : donc je n'ai pas de chiffres réels sur la qualité de la déduplication des fichiers de données.


[11:07] Ubit Umarov : les textures lludp sont également mortes.
[12:24] '''Ubit Umarov''' : j'espère qu'il déduplique le "nouveau script" :p


[11:07] Ubit Umarov : bien comme je l'ai dit, une tonne de choses.
[12:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Bonne question, je sais qu'il ne fait certainement pas les notecards , parce qu'ils ont la date de création et autres enregistrés dans leurs données, donc le hache est toujours différent.


[11:07] Ubit Umarov : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.
[12:25] '''Ubit Umarov''': ouais


[11:07] Ubit Umarov : Je sais qu'il y travaille.
[12:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai écrit un article sur les gaspillages qu'OpenSim collectionne à ce sujet.


[11:08] Ubit Umarov : de mon côté, aussi comme je l'ai dit, pas de précipitation.
[12:25] '''Ubit Umarov''' : certains assets ont une date etc...


[11:08] Ubit Umarov : il ne faut pas se précipiter.
[12:25] '''Ubit Umarov''' : les meshes sont censés en avoir une...


[11:08] Andrew Hellershanks : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.
[12:26] '''Ubit Umarov''' : mais c'est le travail du serveur de les ajouter, et nous ne l'avons jamais fait.


[11:08] Ubit Umarov : ohh vous devriez voir .netcore 2
[12:26] '''Ubit Umarov''' : pas sûr de ce que les viewers ajoutent à la métadonnée [https://fr.wikipedia.org/wiki/M%C3%A9tadonn%C3%A9e] jpeg2000


[11:08] Ubit Umarov : encore pire
[12:27] '''Ubit Umarov''' : il est possible qu'il y ait aussi la date et le créateur, ce qui rend le hache inutile sur les meshes.


[11:08] Ubit Umarov : même 3
[12:27] '''Ubit Umarov''' : sur la texture je veux dire


[11:09] Ubit Umarov : c'est à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.
[12:27] '''Ubit Umarov''' : c'est facile pour vous de le vérifier si vous utilisez fsassets :)


[11:09] Ubit Umarov : donc ils ont ajouté beaucoup plus de .net4.8 dessus.
[12:28] '''Ubit Umarov''' : téléchargez le même texte à deux reprises et comparez les haches.


[11:10] Andrew Hellershanks : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.
[12:29] '''Ubit Umarov''' : pas sûr que ceux qui ont fait sras et fsassets connaissaient les métadonnées que les viewers ajoutent.


[11:10] Ubit Umarov : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...
[12:30] '''Gavin.Hird @grid.xmir.org:8002 ''': Je ne pense pas que le viewer ajoute des métadonnées aux données brutes de l'image.


[11:10] Ubit Umarov : les parties qu'ils ont ajoutées... pour Windows seulement.
[12:30] '''Ubit Umarov''' : ce sont des données j2000 et non des images brutes.


[11:10] Ubit Umarov : net5-0-windows a un code image.
[12:31] '''Gavin.Hird @grid.xmir.org:8002 ''': vous comprenez ce que je veux dire.


[11:10] Misterblue Waves : je me demande si PrimMesher et [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/ libomv] peuvent être mis à jour vers .NET6... c'est un projet de week-end.
[12:31] '''Ubit Umarov''' : ok :)


[11:11] Ubit Umarov : même problème.
[12:31] '''Ubit Umarov''' : comme les données de création sur les zones d'information du j2k.


[11:11] Ubit Umarov : impossible
[12:33] '''Ubit Umarov''' : l'animation semble être juste une animation.


[11:11] Ubit Umarov : ça dépend des bitmaps
= Conclusion=
[12:34] '''Selby.Evans @grid.kitely.com:8002''' : au revoir à tous.


[11:11] Ubit Umarov : et d'autres choses encore
[12:34] '''Ubit Umarov''' : salut


[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002: Speaking of alternate libs, I sat down the other day and cloned the Mysql interfaces and rewrote migrations to change a bunch of the varchar and char fields to UUID as now supported by MariaDB. The unit tests pass, though it still uses the default Mysql connector and I have not done much testing on whether all parts work. Ubit looked at a MariaDB connector directly, but it seems that, much like newer npgsql just ships with a bunch of stupid libs. I check table lengths and overall across the tables saved over 280 bytes just changing these fields, which comes out to nearly 30% of overall structure size
[12:34] '''Andrew Hellershanks''' : Une autre demi-heure s'est écoulée. Je dois y aller, alors je vais clore la réunion d'aujourd'hui. Je vous remercie tous d'être venus. Nous nous reverrons la semaine prochaine.
[11:12] Ubit Umarov: ms refused to suport image on all platform, like linux
[11:12] Ubit Umarov: bc that libgdiplus, cairo etc
[11:12] Ubit Umarov: they refuse to maintain
[11:12] Ubit Umarov: kinda understandable
[11:13] Misterblue Waves: some headaches shouldn't be volunteered for
[11:13] Ubit Umarov: cairo and pango..
[11:13] Misterblue Waves: I've been using MariaDB as my DB. No problems but then I'm not a heavy load tester
[11:14] Ubit Umarov: maria is now what distros love
[11:14] Andrew Hellershanks: It has been for some time.
[11:14] Ubit Umarov: guess since oracle took over mysql
[11:15] Andrew Hellershanks nods
[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002: 10.7 was released last week or so, now has UUID field type, which is a bit smaller in size to store UUIDs, thing is, to take advantage of that kinda need to find a way to interface with it on a lower level than pushing strings in order to get performance out, just changing the fields to UUID just reduces database size overall, query performance not so much
[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002: Need a direct binary conversion or something to interface with it, but for that you need a connector and the one that is on nuget needs some hacks to work
[11:16] Andrew Hellershanks: If the code uses cairo, pango, etc. they should still be usable in the OS code as external libraries.
[11:16] Ubit Umarov: as i told you, that takes a split on the dbs
[11:16] Ubit Umarov: and use another connector
[11:17] Ubit Umarov: bitmap on mono  depends on pango, cairo and libgdiplus
[11:17] Ubit Umarov: that ms refuses to use
[11:17] Ubit Umarov: so no image code for linux on .net5 or 6
[11:17] Ubit Umarov: as i said .netx-windows does have it.. windows only
[11:18] Andrew Hellershanks: Why can't the code just use those libraries anyway even if MS won't support them in .net?
[11:18] Ubit Umarov: bc they will not add to .net, code that depends on libs they refuse to use
[11:18] Gavin.Hird @grid.xmir.org:8002: no money in that
[11:18] Andrew Hellershanks: Other projects use cairo, pango, etc. so those libraries are still around.
[11:19] Gavin.Hird @grid.xmir.org:8002: MS has always been about locking in the customers
[11:19] Ubit Umarov: and .netx code is also for android and ios
[11:19] Andrew Hellershanks: That makes no sense. If you use .NET you have no way to use some other 3rd party library??
[11:20] Ubit Umarov: seems they also think no use really uses it
[11:20] Ubit Umarov: seem some telling only seen code to make q-code :)
[11:20] Ubit Umarov: they tell to use other image libraries for .net
[11:21] Ubit Umarov: fine
[11:21] Ubit Umarov: just means all our code will need a rewrite
[11:21] Ubit Umarov: jpeg2000 code,  scultp maps..  maps.. etc
[11:22] Ubit Umarov: dynamic textures
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002: A lot of that stuff is pretty abstract too, figuring out how that currently works is a big task in itself much less rewriting it
[11:22] Ubit Umarov: all gone, until a rewrite with something else
[11:22] Ubit Umarov: think i only did list concret things
[11:22] Misterblue Waves: what our the "supported" target platforms? Window10/11, Ubuntu (mono6), IOS ?
[11:23] Andrew Hellershanks: The simpler solution is  to write our own code to replace the missing/unsupported bits so the main code doesn't need to be completely rewritten.
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002: Andrew you want to write an image library, sure, I'll schedule the release party, see you in 2035
[11:24] Ubit Umarov: well and still no need to rush
[11:24] Ubit Umarov: sadly mono lost a lot of fixes but still around
[11:24] Ubit Umarov: so no need to rush
[11:25] Ubit Umarov: any change to .net5(6 also means to lose a lot of good hardware outthere
[11:25] Andrew Hellershanks: If current/older .NET is using pango, cairo, etc. Why not just make a library that is an interface between the current code and the backend libraries that were already being used?
[11:25] Ubit Umarov: just because that hardware can't run last windows
[11:25] Ubit Umarov: or even last linux
[11:25] Andrew Hellershanks: What does MS say to developers about moving to .NET 5/6? Rewrite your programs?
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002: I'm more worried that latest mono no longer supports postgres without massive changes, not sure if mysql is not to follow soon
[11:26] Ubit Umarov: yes that is what they say
[11:26] Ubit Umarov: as i said where a lot worse in the times of .netcore 2.0
[11:26] Misterblue Waves: @Andrew it's true that we don't use all the features of Image. Most of the "will not support" stuff is around the functions that reach into Images and twiddle the internal formats (for preformance and stuff)
[11:26] Ubit Umarov: bc most code jsut did not run on it
[11:26] Andrew Hellershanks: If they keep doing that it is a great advertisement for why you should not use .NET in your programs.
[11:27] Ubit Umarov: go tell original opensim devs that the choice of c# was a very stupid one
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002: At that point might as well rewrite in C directly and throw the framework dependency out the window, but man does that sound like fun... not
[11:27] Ubit Umarov: it was very stupid,  but too late to change
[11:28] Ubit Umarov: ofc to start such thing in c++ with multi.os support was a lot harder to do
[11:28] Gavin.Hird @grid.xmir.org:8002: someone needs to download the SL server code :-)
[11:29] Ubit Umarov: so possible no one would had done it
[11:29] Ubit Umarov: without the c# original promise to run (badly) on windows and linux
[11:29] Andrew Hellershanks: I haven't done enough C# programming to realize that you have to use .NET.
[11:29] Ubit Umarov: and so far it did..
[11:30] Ubit Umarov: there is no c# without .net
[11:30] Ubit Umarov: basicly
[11:30] Ubit Umarov: well at least some core parts of it
[11:30] Ubit Umarov: we can not use linq for example
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002: Only option is mkbundle, stuff .net into the app, which blows its size up and isn't guaranteed to work either, especially not at OpenSim complexity levels
[11:31] Ubit Umarov: but well academic talks
[11:31] Ubit Umarov: its c# now
[11:31] Ubit Umarov: just a hard crossroad ahead
[11:31] Ubit Umarov: but again, no need to rush it
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002: Well hard if MS decides to continue to ruin the fun
[11:31] Ubit Umarov: the more we wait the easier is should get
[11:31] Ubit Umarov: hopefuly
[11:32] Ubit Umarov: bc others will do it :p
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002: I'm crazy enough to have hope they eventually grow a brain
[11:32] Andrew Hellershanks: :)
[11:32] Ubit Umarov: all software is getting more insane
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002: I blame javascript
[11:33] Ubit Umarov: and ppl will be forced to rewrite things
[11:33] Andrew Hellershanks: hehe
[11:33] Ubit Umarov: well don't know
[11:33] Ubit Umarov: just guess we have like 2 years to see the .net6 issue
[11:34] Ubit Umarov: possible more
[11:34] Ubit Umarov: about  opensim
[11:34] Ubit Umarov: not many changes last week, i think
[11:34] Ubit Umarov: in fac i almost did release 0.9.2.1 today
[11:35] Ubit Umarov: the date 22-2-22 was a fun release date
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: hehe
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: I didn't even notice that
[11:35] Andrew Hellershanks: Just one change this past week to the profiles module and a fix to a log message.
[11:36] Ubit Umarov: well i did update libomv with a bit faster OSD to json code
[11:36] Andrew Hellershanks: For me it would be a 2-22-22 release date. Not quite as fun but almost.
[11:36] Ubit Umarov: and that was basicly it
[11:36] Kayaker Magic: I have a question about de-duplication. Does OpenSim do this on images? I hear Kitely does.
[11:37] Ubit Umarov: sounds you need to wash those ears to get full indo
[11:37] Ubit Umarov: and info
[11:37] Ubit Umarov: :p
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002: Dedupe on assets is done hash based, if the hash is the same, the item is just linked via the DB, dynamic textures and such are regionside so they are cleared anyways
[11:37] Andrew Hellershanks: Kayaker, There is an asset system that eliminates duplications.
[11:37] Ubit Umarov: fsassets
[11:38] Ubit Umarov: and xassets
[11:38] Ubit Umarov: or how its called
[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002: sras and phpsas do it too :)
[11:38] Andrew Hellershanks: Yup, fsassets.
[11:38] Andrew Hellershanks: SRAS came before fsassets.
[11:38] Ubit Umarov: yes fsassets is a c# version of sras
[11:38] Ubit Umarov: basible
[11:38] Ubit Umarov: and basicly
[11:39] Ubit Umarov: xassets does it, still storing all on mysql
[11:39] Ubit Umarov: well still marked experimental
[11:39] Kayaker Magic: When is the hash on images calculated? After decoding images into raw bitmaps?
[11:40] Ubit Umarov: sha256
[11:40] Ubit Umarov: the SL asset data
[11:40] Ubit Umarov: and exactly as SL asset
[11:40] Ubit Umarov: a fun thing ppl talking about nrew viewers forget
[11:41] Ubit Umarov: we only have assets in SL format
[11:41] Kayaker Magic: So after compressing them for the asset database? Is that zip or are images just jpg2000 compressed?
[11:41] Ubit Umarov: any convertion to other formats is just impossible to do in real time
[11:41] Ubit Umarov: unless on small prof of concept things
[11:41] Ubit Umarov: actually not need, bc no concept to prove
[11:42] Ubit Umarov: to use other formats, the asset storage will need to change to add them
[11:43] Ubit Umarov: well the avination unreal viewer was using SL assets formats
[11:43] Misterblue Waves: ya... new asset server. New formats, new access permissions, scalable... another whole project
[11:44] Ubit Umarov: yeah
[11:44] Misterblue Waves: in existing viewers the conversion from SL asset format to a usable format is all done in the client
[11:44] Ubit Umarov: a asset UUID will need to point to several formats
[11:44] Ubit Umarov: like a texture in jp2000 and dds
[11:45] Misterblue Waves: maybe make it an nginx plugin
[11:45] Ubit Umarov: well and do that FAST
[11:45] Ubit Umarov: the FAST part is something all forget
[11:45] Ubit Umarov: and without it, it is useless
[11:46] Ubit Umarov: we all know any viewer can be made...
[11:46] Ubit Umarov: the unreal one was should most of a region
[11:46] Ubit Umarov: at 6fps !!!
[11:46] Ubit Umarov: so a nice work... useless.. but nice
[11:47] Ubit Umarov: fs was showing same region with 40 fps and doing all things
[11:47] Ubit Umarov: see what i mean?
[11:48] Ubit Umarov: err would help if i did type right :p
[11:48] Ubit Umarov: the unreal one was SHOWING a region at 6fps :)
[11:48] Ubit Umarov: still no terrain, water or avatars
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002: Meanwhile new FS release is looking like it will improve performance by a good 10% from what I can tell, I don't recall ever getting more than 60fps here
[11:49] Ubit Umarov: ll is improving performance
[11:49] Ubit Umarov: they have another batch of changes for a future viewer
[11:49] Ubit Umarov: fs is adding those and a few own
[11:50] Ubit Umarov: ofc it does depend on region creators
[11:50] Ubit Umarov: you will need to pay atention to region build, if you want fps, also
[11:50] Ubit Umarov: and have customs police :p
[11:51] Ubit Umarov: not letting avatars with complexity off 700000 to get in
[11:51] Ubit Umarov: :)
[11:51] Andrew Hellershanks: :)
[11:52] Ubit Umarov: so what news do you bring ?
[11:52] Ubit Umarov: about opensim..
[11:52] Andrew Hellershanks: No news is good news?  ;)
[11:53] Andrew Hellershanks: Will there be a release today?
[11:53] Ubit Umarov: if about ukraine yes
[11:53] Ubit Umarov: nah guess i will not do it today
[11:54] Ubit Umarov: osgrid also did none on 0.9.2.1 basicly
[11:55] Ubit Umarov: but diva is waiting for it  to release her code
[11:56] Ubit Umarov: i had promissed her a reease in Jan
[11:56] Ubit Umarov: and we are almost in march :)
[11:56] Gavin.Hird @grid.xmir.org:8002: but what year?
[11:57] Ubit Umarov: yeah i didn't told her the year..  but she assumed 2022 :)
[11:57] Gavin.Hird @grid.xmir.org:8002: :-)
[11:57] Ubit Umarov: so i can't use that trick on her :p
[11:58] Ubit Umarov: well and the users that are asking for the code
[11:58] Gavin.Hird @grid.xmir.org:8002: they must be begging, asking will not do
[11:59] Ubit Umarov: :)
[11:59] Andrew Hellershanks: Wow. This hour has just flown by. We are at the top of the hour already.
[12:00] Andrew Hellershanks: Any final questions or comments for today before we wrap up this gathering?
[12:02] Andrew Hellershanks: Kayaker, fyi, in a large database a hash based asset storage system can reduce the asset table substantially. I've seen anywhere from 25% to 50% reductions in table size.
[12:02] Ubit Umarov: sadly if table size means nothing :p
[12:03] Ubit Umarov: ofc tables size is smaller, just because the asset data is not stored on it, but on  a disk file
[12:03] Kayaker Magic: I was curious that hashes of images are so likely to be different for similar images.
[12:03] Andrew Hellershanks: yes, but it is a substantial savings in used disk space.
[12:04] Kayaker Magic: And I don't trust jpg to produce the same imagage from the same data 2ice in a row...
[12:04] Ubit Umarov: guess a lot of ppl uploads the same things
[12:04] Ubit Umarov: well it is not jpg, it is jpeg2000, a bit diferent
[12:05] Ubit Umarov: and with paramenters fixed on viewers
[12:05] Ubit Umarov: so end data may be more identick
[12:05] Ubit Umarov: other wise, the hash is just waste of time
[12:05] Ubit Umarov: same for mesh..
[12:06] Ubit Umarov: hash only does anything if mesh is upload with same paramenters and identical viewer
[12:06] Ubit Umarov: so finla bits are exactly the same
[12:06] Ubit Umarov: or then again hashing is uselsss
[12:07] Ubit Umarov: so in fact o do have doubts on how effective it really is
[12:07] Ubit Umarov: but ppl tell it is.. so..  one must believe,,
[12:08] Ubit Umarov: and good viewers do not add Cretion date and uploader uuid to the binary data
[12:08] Ubit Umarov: assuming region code will do it ( and does not )
[12:08] Ubit Umarov: if mesh where as spec, the hash would fail always
[12:09] Kayaker Magic: Some sort of hash that only looks at the image data, or vertex data of mesh would be nice.
[12:09] Misterblue Waves: gonna run in RL.. will be here virtually
[12:09] Ubit Umarov: no
[12:09] Ubit Umarov: hash only looks to raw asset data
[12:09] Andrew Hellershanks: ok, Misterblue.
[12:09] Ubit Umarov: cna't look to asset details
[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: Somewhere in this mess someone set xml utf16 for linksets even if all data is utf8 -.-
[12:09] Ubit Umarov: no time for that
[12:10] Ubit Umarov: nahh think most are actually utf8 telling they are utf16
[12:10] Gavin.Hird @grid.xmir.org:8002: are you sure it cannot look at asset data?
[12:10] Ubit Umarov: not was it is done
[12:10] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah that's what I mean, the xml header claims utf16 for no reason, threw me off at first
[12:10] Ubit Umarov: and no..  would be very slow to look per asset type
[12:10] Gavin.Hird @grid.xmir.org:8002: on postgres I have a tool that when looking at single records will decode the images in the asset table on the fly
[12:11] Gavin.Hird @grid.xmir.org:8002: they are just stored in a blob filed
[12:11] Ubit Umarov: even doing sha256 is not that fast
[12:12] Ubit Umarov: some cpus do have hardware help for that.. not sure .net uses
[12:12] Gavin.Hird @grid.xmir.org:8002: you only have to do it on first write in that table
[12:12] Ubit Umarov: no
[12:12] Ubit Umarov: on any upload
[12:12] Gavin.Hird @grid.xmir.org:8002: sure, but uploads does not happen that often
[12:13] Ubit Umarov: and does not matter
[12:13] Ubit Umarov: any bit changed means other hash
[12:13] Andrew Hellershanks: yup
[12:13] Ubit Umarov: for now we are not filling the creation date, and creator id  of mesh spec
[12:13] Gavin.Hird @grid.xmir.org:8002: image data cannot be edited in-world, so only uploads needs to be rehased
[12:13] Ubit Umarov: so at least that is not a issue
[12:14] Ubit Umarov: even so same mesh even with same parameters will upload diferently
[12:14] Ubit Umarov: acording to particular viewer
[12:14] Gavin.Hird @grid.xmir.org:8002: yes
[12:14] Gavin.Hird @grid.xmir.org:8002: but image data should be fairly constant
[12:15] Ubit Umarov: but well as i said seems that hash does savings.. so.. better than nothing
[12:15] Ubit Umarov: jpeg2000 constant why?
[12:15] Gavin.Hird @grid.xmir.org:8002: there are not many updates to that spec...
[12:15] Ubit Umarov: done with diferent versions of openjpeng on kdu
[12:15] Gavin.Hird @grid.xmir.org:8002: we don't use kdu
[12:16] Gavin.Hird @grid.xmir.org:8002: no viewer does for opensim
[12:16] Ubit Umarov: thin lower precision bits
[12:16] Ubit Umarov: just think...
[12:16] Ubit Umarov: thin fs payed kdu
[12:16] Ubit Umarov: think
[12:16] Gavin.Hird @grid.xmir.org:8002: nobody are interested in paying thousands of dollars for a KDU lisence for opensim
[12:17] Gavin.Hird @grid.xmir.org:8002: fs got KDU from LL
[12:17] Ubit Umarov: it is not for opensim
[12:17] Ubit Umarov: is for all
[12:17] Gavin.Hird @grid.xmir.org:8002: Kokua paid for
[12:17] Andrew Hellershanks: kdu?
[12:17] Ubit Umarov: viewers do not pay kdu for sl or opensim
[12:17] Ubit Umarov: that is not like havok
[12:17] Gavin.Hird @grid.xmir.org:8002: they pay for KDU
[12:17] Ubit Umarov: they pay per viewer
[12:18] Gavin.Hird @grid.xmir.org:8002: with no chance of getting the cost covered for opensim, nobody will want to pay for it
[12:18] Ubit Umarov: so if they pay "for sl" they payed "for opensim"
[12:18] Andrew Hellershanks: I looked up kdu and the top result was General Sir John Kotelawala Defence University.  :)
[12:18] Ubit Umarov: unlike havok, where they just use LL license
[12:18] Gavin.Hird @grid.xmir.org:8002: yes, but the only one who have paid for KDU is kokua
[12:18] Gavin.Hird @grid.xmir.org:8002 whispers: FS got it from LL
[12:19] Ubit Umarov: ok
[12:19] Gavin.Hird @grid.xmir.org:8002: apart from that nobody use it because of cost
[12:19] Ubit Umarov: yeha fs ships with openjpg for opensim
[12:19] Gavin.Hird @grid.xmir.org:8002: yes
[12:20] Gavin.Hird @grid.xmir.org:8002: not allowed to use the license outside of SL
[12:21] Gavin.Hird @grid.xmir.org:8002: so I have had to strip the KDU support out of the 3.0 builds
[12:22] Ubit Umarov: well all those diferences make the deduplication fail
[12:22] Ubit Umarov: not going to the detail of all cpu FPUs are diferent etc
[12:23] Ubit Umarov: intel things have bugs remember ? :P
[12:24] Ubit Umarov: so i have no real numbers on how good is fs deduplication good
[12:24] Ubit Umarov: hope it does dedupe the "new script" :p
[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Good question, I know it certainly doesn't do notecards, cause they have creation date and such saved in their data so the hash is always different
[12:25] Ubit Umarov: yeah
[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002: I wrote an article on the garbage OpenSim collects on these things
[12:25] Ubit Umarov: some assets have date etc
[12:25] Ubit Umarov: mesh where suposed to have
[12:26] Ubit Umarov: but it is server job to add those, and we never did
[12:26] Ubit Umarov: not sure what viewers add to the jpeg2000 metadada
[12:27] Ubit Umarov: possible also date and creator there, making ghe hash useless on mesh
[12:27] Ubit Umarov: on texture i mean
[12:27] Ubit Umarov: wel easy for you to check if using fsassets :)
[12:28] Ubit Umarov: upload same textyre twcie and compare the hashs
[12:29] Ubit Umarov: not sure if who made sras and fsassets knew the metadata viewers add
[12:30] Gavin.Hird @grid.xmir.org:8002: I don't think the viewer adds any metadata to the raw imagedata
[12:30] Ubit Umarov: well it is j2000 data not raw image
[12:31] Gavin.Hird @grid.xmir.org:8002: you understand what I mean
[12:31] Ubit Umarov: ok :)
[12:31] Ubit Umarov: like crreation data on the info areas of the j2k
[12:33] Ubit Umarov: animation seems to be just anim
[12:34] Selby.Evans @grid.kitely.com:8002: bye all
[12:34] Ubit Umarov: cya
[12:34] Andrew Hellershanks: Another half hour has passed. I need to get going so I will close the meeting for today. Thank you all for coming. See you again next week.
</pre>

Dernière version du 24 février 2022 à 14:44

source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-02-22

Introduction Migration .net5

  • npgsql permet aux programmes écrits en C#, Visual Basic, F# d'accéder au serveur de base de données PostgreSQL .

[11:03] Gavin.Hird @grid.xmir.org:8002 : Salut Andrew

[11:03] Andrew Hellershanks : Bonjour à tous.

[11:04] Ubit Umarov : Code de gravité Description État de suppression de la ligne de fichier du projet Erreur CS1069 Le nom de type 'PerformanceCounter' n'a pas pu être trouvé dans l'espace de nom 'System.Diagnostics'. Ce type a été transféré à un assembly 'System.Diagnostics.PerformanceCounter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Pensez à ajouter une référence à cet assembly. OpenSim.Framework.Monitoring D:\Avination\test\opensim\OpenSim\Framework\Monitoring\ServerStatsCollector.cs 65 Actif

[11:04] Ubit Umarov : par exemple

[11:04] Ubit Umarov : les compteurs de performance ont également disparu.

[11:04] Andrew Hellershanks : Je me suis assoupi après le déjeuner jusqu'à ce que mon Assistant numérique personnel me rappelle l'heure par un bip.

[11:04] Ubit Umarov : cela signifie aussi que certains de nos codes de statistiques ont disparu.

[11:05] Ubit Umarov : sur la migration vers .net5 [1]

[11:05] Kayaker Magic : J'ai entendu dire que Mike Chase a réussi à compiler OpenSim et à le faire fonctionner avec .net sur des serveurs Windows, mais il a été surpris de constater que le code résultant ne fonctionne pas sur linux.

[11:05] Ubit Umarov : La partie la plus effrayante est l'API qui ressemble à la même chose, mais qui ne l'est pas.

[11:06] Ubit Umarov : eh bien! pour faire cela il devra enlever des choses comme

[11:06] Ubit Umarov : la carte du monde

[11:06] Ubit Umarov : etc...

[11:06] Ubit Umarov : puis réécrire avec des bibliothèques alternatives...

[11:07] Ubit Umarov : les textures lludp [2] sont également mortes.

[11:07] Ubit Umarov : bien comme je l'ai dit, une tonne de choses.

[11:07] Ubit Umarov : je ne suis pas sûr que tu aies vraiment lu qu'il l'avait fait.

[11:07] Ubit Umarov : Je sais qu'il y travaille.

[11:08] Ubit Umarov : de mon côté, aussi comme je l'ai dit, pas de précipitation.

[11:08] Ubit Umarov : il ne faut pas se précipiter.

[11:08] Andrew Hellershanks : C'est un peu bizarre que Microsoft(MS) fasse de tels changements dans .net 5 au point de casser complètement le code du passé.

[11:08] Ubit Umarov : ohh vous devriez voir .netcore 2

[11:08] Ubit Umarov : encore pire

[11:08] Ubit Umarov : même 3

[11:09] Ubit Umarov : c'est à ce moment que MS a vu qu'ils ne pouvaient pas forcer tout le monde à réécrire toutes les applications.

[11:09] Ubit Umarov : donc ils ont ajouté beaucoup plus de .net4.8 dessus.

[11:10] Andrew Hellershanks : Je me demande s'ils ont vu le problème en interne. Cela les a probablement incités à faire quelque chose à ce sujet.

[11:10] Ubit Umarov : mais il y a encore beaucoup de choses qui manquent, comme les images, etc...

[11:10] Ubit Umarov : les parties qu'ils ont ajoutées... pour Windows seulement.

[11:10] Ubit Umarov : net5-0-windows a un code image.

[11:10] Misterblue Waves : je me demande si PrimMesher et libomv [3] peuvent être mis à jour vers .NET6... c'est un projet de week-end.

[11:11] Ubit Umarov : même problème.

[11:11] Ubit Umarov : impossible

[11:11] Ubit Umarov : ça dépend des bitmaps

[11:11] Ubit Umarov : et d'autres choses encore

Modifications dans la base de données

  • NuGet: gestionnaire de paquets de la plate forme de développement Microsoft .NET.

[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : En parlant de librairies alternatives, je me suis posé l'autre jour et j'ai cloné les interfaces Mysql [4] et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est maintenant supporté par MariaDB [5]. Les tests unitaires passent, bien qu'ils utilisent toujours le connecteur Mysql par défaut et je n'ai pas fait beaucoup de tests pour savoir si toutes les parties fonctionnent. Ubit a cherché un connecteur MariaDB directement, mais il semble que, tout comme npgsql plus récent, il soit livré avec un tas de librairies stupides. J'ai vérifié la longueur des tables et dans l'ensemble des tables, j'ai économisé plus de 280 octets juste en changeant ces champs, ce qui revient à près de 30% de la taille de la structure globale.

[11:13] Misterblue Waves : J'ai utilisé MariaDB comme base de données. Pas de problèmes, mais je ne suis pas un testeur de gros chargements.

[11:14] Ubit Umarov : maria est maintenant ce que les distros aiment.

[11:14] Andrew Hellershanks : C'est le cas depuis un certain temps.

[11:14] Ubit Umarov : je suppose que c'est comme ça depuis qu'Oracle a pris le contrôle de Mysql.

[11:15] Andrew Hellershanks acquiesce.

[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : MariaDB 10.7 [6] est sorti la semaine dernière, il y a maintenant le type de champ UUID, qui est un peu plus petit en taille pour stocker les UUIDs, le truc c'est que, pour en tirer avantage, il faut trouver un moyen de s'interfacer avec lui à un niveau plus bas que de pousser des chaînes de caractères afin d'obtenir des performances, le simple fait de changer les champs en UUID réduit juste la taille de la base de données en général, les performances des requêtes pas tellement.

[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il faut une conversion binaire directe ou quelque chose pour s'interfacer avec la lui, mais pour cela il faut un connecteur et celui qui est sur nuget a besoin de quelques bidouillages pour fonctionner.

Problème des bibliothèques d'images avec Mono

  • 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.
  • MKBundle Mono peut transformer les applications .NET (code exécutable et ses dépendances) en exécutables autonomes qui ne dépendent pas de l'installation de Mono sur le système afin de simplifier le déploiement des applications .NET. Pour ce faire, l'outil mkbundle, un compilateur croisé, produit un exécutable natif pour toutes les plates-formes supportées par Mono à partir d'un point d'entrée assembly initial, de ses dépendances .NET et de tout assembly supplémentaire requis par votre application.

[11:12] Ubit Umarov : MS a refusé de supporter l'image sur toutes les plateformes, comme linux.

[11:12] Ubit Umarov : à cause de libgdiplus [7], Cairo [8], etc.

[11:12] Ubit Umarov : ils refusent d'assurer la maintenance

[11:12] Ubit Umarov : un peu compréhensible

[11:13] Misterblue Waves : certains problèmes ne devraient pas être volontaires.

[11:13] Ubit Umarov : le Cairo et le Pango [9]...

[11:16] Andrew Hellershanks : Si le code utilise cairo, pango, etc., ils devraient toujours être utilisables dans le code du système d'exploitation en tant que bibliothèques externes.

[11:16] Ubit Umarov : comme je vous l'ai dit, il faut diviser la base de données.

[11:16] Ubit Umarov : et utiliser un autre connecteur.

[11:17] Ubit Umarov : bitmap sur mono dépend de pango, cairo et libgdiplus

[11:17] Ubit Umarov : que MS refuse d'utiliser

[11:17] Ubit Umarov : donc pas de code image pour linux sur .net5 ou 6

[11:17] Ubit Umarov : comme je l'ai dit .netx-windows l'a... windows seulement

[11:18] Andrew Hellershanks : Pourquoi le code ne peut pas utiliser ces bibliothèques de toute façon même si MS ne les supporte pas dans .net ?

[11:18] Ubit Umarov : parce qu'ils n'ajouteront pas à .net, le code qui dépend des bibliothèques qu'ils refusent d'utiliser.

[11:18] Gavin.Hird @grid.xmir.org:8002 : il n'y a pas d'argent là-dedans.

[11:18] Andrew Hellershanks : D'autres projets utilisent cairo, pango, etc. donc ces bibliothèques sont toujours là.

[11:19] Gavin.Hird @grid.xmir.org:8002 : MS a toujours cherché à enfermer ses utilisateurs.

[11:19] Ubit Umarov : et le code .netx est aussi pour android et ios.

[11:19] Andrew Hellershanks : Cela n'a aucun sens. Si vous utilisez .NET, vous n'avez aucun moyen d'utiliser une bibliothèque tierce ?

[11:20] Ubit Umarov : il semble qu'ils pensent aussi que personne ne l'utilise vraiment.

[11:20] Ubit Umarov : il semble que certains disent de ne voir que le code pour faire le q-code :)

[11:20] Ubit Umarov : ils disent d'utiliser d'autres bibliothèques d'images pour .net

[11:21] Ubit Umarov : bien

[11:21] Ubit Umarov : cela veut dire que tout notre code devra être réécrit.

[11:21] Ubit Umarov : code jpeg2000 [10], maps scultp... maps... etc...

[11:22] Ubit Umarov : textures dynamiques

[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Beaucoup de ces choses sont assez abstraites aussi, comprendre comment cela fonctionne actuellement est une grosse tâche en soi, et encore moins la réécrire.

[11:22] Ubit Umarov : tout est perdu, jusqu'à une réécriture avec autre chose.

[11:22] Ubit Umarov : je pense que j'ai seulement listé des choses concrètes.

[11:22] Misterblue Waves : quelles sont les plateformes cibles "supportées" ? Window10/11, Ubuntu (mono6), IOS ?

[11:23] Andrew Hellershanks : La solution la plus simple est d'écrire notre propre code pour remplacer les bits manquants/non supportés afin que le code principal n'ait pas besoin d'être complètement réécrit.

[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Andrew, tu veux écrire une bibliothèque d'images, bien sûr, je vais programmer la soirée de lancement, on se voit en 2035.

[11:24] Ubit Umarov : bien et toujours pas besoin de se précipiter.

[11:24] Ubit Umarov : malheureusement le mono a perdu beaucoup de correctifs mais il est toujours là.

[11:24] Ubit Umarov : donc pas besoin de se précipiter.

[11:25] Ubit Umarov : tout changement vers .net5(6 signifie aussi la perte de beaucoup de bon matériel.

[11:25] Andrew Hellershanks : Si le .NET actuel/ancien utilise pango, cairo, etc. Pourquoi ne pas simplement faire une bibliothèque qui est une interface entre le code actuel et les bibliothèques backend qui étaient déjà utilisées ?

[11:25] Ubit Umarov : juste parce que ce matériel ne peut pas faire tourner le dernier Windows.

[11:25] Ubit Umarov : ou même le dernier linux

[11:25] Andrew Hellershanks : Que dit MS aux développeurs pour le passage à .NET 5/6 ? Réécrivez vos programmes ?

[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis plus préoccupé par le fait que la dernière version de mono ne supporte plus postgres [11] sans changements massifs, je ne suis pas sûr que mysql ne suive pas bientôt.

[11:26] Ubit Umarov : oui, c'est ce qu'ils disent.

[11:26] Ubit Umarov : comme je l'ai dit, la situation était bien pire à l'époque de .netcore 2.0.

[11:26] Misterblue Waves : @Andrew c'est vrai que nous n'utilisons pas toutes les fonctionnalités d'Image. La plupart des trucs qui "ne seront pas supportées" tournent autour des fonctions qui touchent aux images et modifient les formats internes (pour la performance et autres).

[11:26] Ubit Umarov : parce que la plupart du code ne fonctionne pas dessus.

[11:26] Andrew Hellershanks : S'ils continuent à faire ça, c'est une excellente démonstration pour expliquer pourquoi vous ne devriez pas utiliser .NET dans vos programmes.

[11:27] Ubit Umarov : allez dire aux développeurs originaux d'opensim que le choix de c# [12] était un choix très stupide.

[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : A ce moment là, on pourrait aussi bien réécrire en C [13] directement et jeter la dépendance au framework par la fenêtre, mais bon sang, ça a l'air amusant... non !

[11:27] Ubit Umarov : c'était très stupide, mais trop tard pour changer.

[11:28] Ubit Umarov : bien sûr, commencer une telle chose en c++ [14] avec le support multi.os était beaucoup plus difficile à faire.

[11:28] Gavin.Hird @grid.xmir.org:8002 : quelqu'un doit télécharger le code du serveur SL :-)

[11:29] Ubit Umarov : tellement facile que personne ne l'aurait fait.

[11:29] Ubit Umarov : sans la promesse originale c# de fonctionner (mal) sur windows et linux

[11:29] Andrew Hellershanks : Je n'ai pas fait assez de programmation en C# pour réaliser qu'il faut utiliser .NET.

[11:29] Ubit Umarov : et jusqu'à présent ça marchait...

[11:30] Ubit Umarov : il n'y a pas de c# sans .net.

[11:30] Ubit Umarov : fondamentalement.

[11:30] Ubit Umarov : en tout cas, certaines parties essentielles.

[11:30] Ubit Umarov : nous ne pouvons pas utiliser linq [15] par exemple.

[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : La seule option est mkbundle [16] , qui consiste à insérer .net dans l'application, ce qui augmente sa taille et ne garantit pas non plus son fonctionnement, surtout pas aux niveaux de complexité d'OpenSim.

[11:31] Ubit Umarov : mais assez de discussions académiques.

[11:31] Ubit Umarov : maintenant c'est le c# et c'est comme ça.

[11:31] Ubit Umarov : juste un dur chemin à parcourir.

[11:31] Ubit Umarov : mais encore une fois, pas besoin de se précipiter.

[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Bien difficile si MS décide de continuer à gâcher le plaisir.

[11:31] Ubit Umarov : plus nous attendons, plus cela devrait être facile.

[11:31] Ubit Umarov : je l'espère.

[11:32] Ubit Umarov : parce que d'autres le feront :p

[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis assez fou pour espérer qu'ils finissent par avoir un cerveau.

[11:32] Andrew Hellershanks: :)

[11:32] Ubit Umarov : tous les logiciels sont de plus en plus fous.

[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je blâme javascript [17]

[11:33] Ubit Umarov : et les gens seront obligés de réécrire les choses.

[11:33] Andrew Hellershanks: hehe

[11:33] Ubit Umarov : Je ne sais pas.

[11:33] Ubit Umarov : je pense que nous avons 2 ans pour voir le problème du .net6.

[11:34] Ubit Umarov : peut-être plus

Changements dans OpenSim cette semaine

[11:34] Ubit Umarov : à propos d'opensim

[11:34] Ubit Umarov : pas beaucoup de changements la semaine dernière, je pense.

[11:34] Ubit Umarov : en fait, j'ai failli sortir la 0.9.2.1 aujourd'hui.

[11:35] Ubit Umarov : la date du 22-2-22 était une date de sortie amusante.

[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: hehe

[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'avais même pas remarqué ça.

[11:35] Andrew Hellershanks : Juste un changement cette semaine dans le module profiles et une correction d'un message de log.

[11:36] Ubit Umarov : j'ai mis à jour libomv avec un code plus rapide de l'OSD [18] à json [19].

[11:36] Andrew Hellershanks : Pour moi, ce serait une date de version le 2-22-22. Pas aussi amusante mais presque.

[11:36] Ubit Umarov : et c'était en gros ça.

[11:36] Kayaker Magic : J'ai une question sur la dé-duplication. Est-ce qu'OpenSim fait cela sur les images ? J'ai entendu dire que Kitely [20] le fait.

[11:37] Ubit Umarov : on dirait qu'il faut laver ses oreilles pour avoir l'info complète.

[11:37] Ubit Umarov: :p

La déduplication des assets

  • Déduplication : En informatique, la déduplication est une technique de stockage de données, consistant à factoriser des séquences de données identiques afin d'économiser l'espace utilisé.
  • Hachage : Opération qui consiste à appliquer une fonction mathématique permettant de créer l’empreinte ou signature numérique d’un message (d’un bloc de données), transformant le message de taille variable en un code de taille fixe, en vue de son authentification ou de son stockage.

[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : La déduplication sur les assets est faite sur la base d'un hachage, si le hachage est le même, l'élément est juste lié via la Base de données (BD), les textures dynamiques et autres sont côté région donc elles sont effacées de toute façon.

[11:37] Andrew Hellershanks : Kayaker, il existe un système d'assets qui élimine les doublons.

[11:37] Ubit Umarov: fsassets [21]

[11:38] Ubit Umarov: et xassets [22]

[11:38] Ubit Umarov : ou comment on l'appelle.

[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002 : sras [23] et phpsas le font aussi :)

[11:38] Andrew Hellershanks : Ouais, fsassets.

[11:38] Andrew Hellershanks : SRAS est venu avant fsassets.

[11:38] Ubit Umarov : oui fsassets est une version c# de sras.

[11:38] Ubit Umarov : en gros

[11:39] Ubit Umarov : xassets le fait, mais le stockage se fait toujours sur mysql.

[11:39] Ubit Umarov : encore marqué expérimental.

[11:39] Kayaker Magic : Quand le hachage des images est-il calculé ? Après le décodage des images en bitmaps [24] bruts ?

[11:40] Ubit Umarov: sha256 [25]

[11:40] Ubit Umarov : les données de l'asset Second Life (SL)

[11:40] Ubit Umarov : et exactement comme l'asset de SL.

[11:40] Ubit Umarov : une chose amusante dont les gens parlent et que les viewers oublient.

[11:41] Ubit Umarov : nous n'avons que des assets au format SL.

[11:41] Kayaker Magic : Donc après les avoir compressé pour la base de donnée des assets ? Est-ce que c'est un zip [26] ou les images sont juste compressées en jpg2000 ?

[11:41] Ubit Umarov : toute conversion vers d'autres formats est impossible à faire en temps réel.

[11:41] Ubit Umarov : à moins que ce ne soit pour des petits concepts.

[11:41] Ubit Umarov : en fait pas besoin, car il n'y a pas de concept à valider.

[11:42] Ubit Umarov : pour utiliser d'autres formats, le stockage des assets devra être modifié pour les ajouter.

[11:43] Ubit Umarov : Eh bien, le viewer d'avination [27] unreal utilisait des formats de ressources SL.

[11:43] Misterblue Waves : oui... nouveau serveur d'assets. Nouveaux formats, nouvelles permissions d'accès, évolutif... tout un autre projet.

[11:44] Ubit Umarov: Oui

[11:44] Misterblue Waves : dans les viewers existantes, la conversion du format des assets SL vers un format utilisable est entièrement faite dans le client.

[11:44] Ubit Umarov : un UUID [28] d'asset devra pointer vers plusieurs formats.

[11:44] Ubit Umarov : comme une texture en jp2000 et dds

[11:45] Misterblue Waves : peut-être en faire un plugin nginx [29].

[11:45] Ubit Umarov : bien et le faire RAPIDEMENT.

[11:45] Ubit Umarov : la partie RAPIDE est quelque chose que tout le monde oublie.

[11:45] Ubit Umarov : et sans cela, c'est inutile.

Viewers : Les FPS

[11:46] Ubit Umarov : nous savons tous que n'importe quel viewer peut être fait...

[11:46] Ubit Umarov: celui d'unreal was should most of a region

[11:46] Ubit Umarov : à 6fps [30] ! !!

[11:46] Ubit Umarov : donc un beau travail... inutile... mais beau.

[11:47] Ubit Umarov : Firestorm (FS)[31] rend la même région avec 40 fps et fait tout ce qu'il faut.

[11:47] Ubit Umarov : vous voyez ce que je veux dire ?

[11:48] Ubit Umarov : err ça m'aiderait si je tapais correctement :p

[11:48] Ubit Umarov : celui d'unreal rendait une région à 6fps :)

[11:48] Ubit Umarov : toujours pas de terrain, d'eau ou d'avatars.

[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pendant ce temps, la nouvelle version de FS semble améliorer les performances d'un bon 10% d'après ce que je peux dire, je ne me rappelle pas avoir jamais obtenu plus de 60fps ici.

[11:49] Ubit Umarov : Ils améliorent les performances.

[11:49] Ubit Umarov : ils ont un autre lot de changements pour un prochain viewer.

[11:49] Ubit Umarov : FS est en train de les ajouter ainsi que quelques autres.

[11:50] Ubit Umarov : bien sûr, cela dépend des créateurs de régions.

[11:50] Ubit Umarov : vous devrez faire attention à la construction de la région si vous voulez des fps.

[11:50] Ubit Umarov : et avoir une police des mœurs :p

[11:51] Ubit Umarov : ne pas laisser entrer les avatars dont la complexité est inférieure à 700000.

[11:51] Ubit Umarov: :)

[11:51] Andrew Hellershanks: :)

Pas d'annonce de nouvelle version aujourd'hui

[11:52] Ubit Umarov : alors quelles sont les nouvelles que vous apportez ?

[11:52] Ubit Umarov : sur opensim...

[11:52] Andrew Hellershanks : Pas de nouvelles, bonnes nouvelles ? ;)

[11:53] Andrew Hellershanks : Y aura-t-il un communiqué aujourd'hui ?

[11:53] Ubit Umarov : si c'est à propos de l'Ukraine, oui.

[11:53] Ubit Umarov : non, je ne vais pas le faire aujourd'hui.

[11:54] Ubit Umarov : osgrid [32] n'en a pas fait non plus sur la 0.9.2.1 [33] en gros

[11:55] Ubit Umarov : mais diva [34] l'attend pour sortir son code [35] .

[11:56] Ubit Umarov : Je lui avais promis une sortie en janvier.

[11:56] Ubit Umarov : et nous sommes presque en mars :)

[11:56] Gavin.Hird @grid.xmir.org:8002 : mais quelle année ?

[11:57] Ubit Umarov : oui, je ne lui ai pas dit l'année... mais elle a supposé 2022 :)

[11:57] Gavin.Hird @grid.xmir.org:8002 : :-)

[11:57] Ubit Umarov : donc je ne peux pas utiliser cette astuce avec elle : p

[11:58] Ubit Umarov : bien et les utilisateurs qui demandent le code.

[11:58] Gavin.Hird @grid.xmir.org:8002 : ils doivent supplier, demander ne suffira pas.

[11:59] Ubit Umarov: :)

Déduplication : efficacité incertaines et dépendantes de nombreux facteurs

[11:59] Andrew Hellershanks : Wow. Cette heure est passée à toute vitesse. Nous sommes déjà au début de l'heure.

[12:00] Andrew Hellershanks : Avez-vous des questions ou des commentaires à formuler avant de clore cette réunion ?

[12:02] Andrew Hellershanks : Kayaker, pour info, dans une grande base de données, un système de stockage des assets basé sur le hachage peut réduire considérablement la table des assets. J'ai vu des réductions de 25 à 50 % de la taille de la table.

[12:02] Ubit Umarov : malheureusement, la taille de la table ne signifie rien :p

[12:03] Ubit Umarov : bien sûr la taille des tables est plus petite, juste parce que les données de l'asset ne sont pas stockées sur elle, mais sur un fichier disque.

[12:03] Kayaker Magic : J'étais étonné que les hachages d'images soient susceptibles d'être aussi différents pour des images similaires.

[12:03] Andrew Hellershanks : oui, mais c'est une économie substantielle d'espace disque utilisé.

[12:04] Kayaker Magic : Et je ne fais pas confiance à jpg [36] pour produire la même image à partir des mêmes données 2 fois de suite...

[12:04] Ubit Umarov : je suppose que beaucoup de personnes téléchargent les mêmes choses.

[12:04] Ubit Umarov : bien, ce n'est pas jpg, c'est jpeg2000, un peu différent.

[12:05] Ubit Umarov : et avec des paramenters fixés sur les viewers.

[12:05] Ubit Umarov : donc les données finales peuvent être mieux identifiées.

[12:05] Ubit Umarov : sinon, le hache est juste une perte de temps.

[12:05] Ubit Umarov : même chose pour les meshes [37] ...

[12:06] Ubit Umarov : le hash n'a d'effet que si le mesh est téléchargé avec les mêmes paramètres et un viewer identique.

[12:06] Ubit Umarov : donc les bits finaux sont exactement les mêmes.

[12:06] Ubit Umarov : ou alors encore une fois le hachage est inutile.

[12:07] Ubit Umarov : donc en fait, nous avons des doutes sur son efficacité réelle.

[12:07] Ubit Umarov : mais les gens disent que c'est le cas... donc... il faut y croire,

[12:08] Ubit Umarov : et les bons viewers n'ajoutent pas la date de création et l'uuid de l'uploader aux données binaires.

[12:08] Ubit Umarov : en supposant que le code de la région le fasse (et il ne le fait pas).

[12:08] Ubit Umarov : si le mesh était spécifié ainsi, le hache échouerait toujours.

[12:09] Kayaker Magic : Une sorte de hache qui ne regarde que les données de l'image, ou les données des vertex du mesh serait bien.

[12:09] Misterblue Waves : je vais courir dans RL... je serai ici virtuellement.

[12:09] Ubit Umarov : non.

[12:09] Ubit Umarov : le hache ne regarde que les données brutes des assets.

[12:09] Andrew Hellershanks: ok, Misterblue.

[12:09] Ubit Umarov : il ne peut pas accéder aux détails des assets.

[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelque part dans ce bazar, quelqu'un a défini xml[38] utf16 [39] pour les linksets (objets liés) même si toutes les données sont utf8 [40] -.-.

[12:09] Ubit Umarov : pas le temps pour cela.

[12:10] Ubit Umarov : nahh pense que la plupart sont en fait utf8 disant qu'ils sont utf16

[12:10] Gavin.Hird @grid.xmir.org:8002 : êtes-vous sûr qu'il ne peut pas regarder les données des assets ?

[12:10] Ubit Umarov : ce n'est pas comme ça que ça se passe.

[12:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, c'est ce que je veux dire, l'en-tête xml réclame utf16 sans raison, ce qui m'a déconcerté au début.

[12:10] Ubit Umarov : et non... ce serait très lent de regarder par type d'asset [41].

[12:10] Gavin.Hird @grid.xmir.org:8002 : sur postgres, j'ai un outil qui, en regardant les enregistrements individuels, décode les images dans la table des assets à la volée.

[12:11] Gavin.Hird @grid.xmir.org:8002 : ils sont juste stockés dans un fichier blob [42].

[12:11] Ubit Umarov : même faire sha256 n'est pas si rapide.

[12:12] Ubit Umarov : certains cpus ont une aide matérielle pour cela, mais je ne suis pas sûr que .net l'utilise.

[12:12] Gavin.Hird @grid.xmir.org:8002 : il suffit de le faire à la première écriture dans cette table.

[12:12] Ubit Umarov: non

[12:12] Ubit Umarov : à chaque téléchargement

[12:12] Gavin.Hird @grid.xmir.org:8002 : oui, mais les téléchargements ne sont pas si fréquents.

[12:13] Ubit Umarov : et cela n'a pas d'importance.

[12:13] Ubit Umarov : tout bit modifié implique un autre hachage.

[12:13] Andrew Hellershanks : ouais.

[12:13] Ubit Umarov : pour le moment nous ne remplissons pas la date de création, et l'id du créateur de la spécification du mesh.

[12:13] Gavin.Hird @grid.xmir.org:8002 : les données d'image ne peuvent pas être modifiées dans le monde, donc seuls les téléchargements doivent être "re-hachés".

[12:13] Ubit Umarov : donc au moins ce n'est pas un problème.

[12:14] Ubit Umarov : même si le même mesh avec les mêmes paramètres sera téléchargé différemment.

[12:14] Ubit Umarov : en fonction du viewer.

[12:14] Gavin.Hird @grid.xmir.org:8002: oui

[12:14] Gavin.Hird @grid.xmir.org:8002 : mais les données de l'image doivent être assez constantes.

[12:15] Ubit Umarov : mais comme je l'ai dit, il semble que le hachage permette de faire des économies, donc c'est mieux que rien.

[12:15] Ubit Umarov : jpeg2000 constant pourquoi ?

[12:15] Gavin.Hird @grid.xmir.org:8002 : il n'y a pas beaucoup de mises à jour de cette spécification...

La licence Kakadu (KDU)

  • KDU / Kakadu : Kakadu est une bibliothèque à code fermé pour encoder et décoder les images JPEG 2000. Elle implémente le standard ISO/IEC 15444-1 entièrement dans la partie 1, et partiellement dans les parties 2-3. Kakadu est une marque déposée de NewSouth Innovations Ltd. [43] [44]

[12:15] Ubit Umarov : fait avec différentes versions d'openjpeg [45] sur kdu

[12:15] Gavin.Hird @grid.xmir.org:8002:nous n'utilisons pas kdu

[12:16] Gavin.Hird @grid.xmir.org:8002: aucun viewer ne le fait pour opensim

[12:16] Ubit Umarov : les bits de précision inférieurs sont fins.

[12:16] Ubit Umarov : pensez-y...

[12:16] Ubit Umarov : je pense que Firestorm paye kdu

[12:16] Gavin.Hird @grid.xmir.org:8002 : personne ne veux payer des milliers de dollars pour une licence KDU pour opensim.

[12:17] Gavin.Hird @grid.xmir.org:8002 : FS a obtenu le KDU de Linden Lab (LL).

[12:17] Ubit Umarov : ce n'est pas pour opensim.

[12:17] Ubit Umarov : c'est pour tout le monde

[12:17] Gavin.Hird @grid.xmir.org:8002 : Kokua[46] a payé pour

[12:17] Andrew Hellershanks: kdu?

[12:17] Ubit Umarov : les viewers ne payent pas kdu pour sl ou opensim

[12:17] Ubit Umarov : ce n'est pas comme Havok [47].

[12:17] Gavin.Hird @grid.xmir.org:8002 : ils paient pour KDU.

[12:17] Ubit Umarov : ils payent par viewer.

[12:18] Gavin.Hird @grid.xmir.org:8002 : sans aucune chance d'obtenir la couverture des coûts pour opensim, personne ne voudra payer pour cela.

[12:18] Ubit Umarov : donc s'ils payent "pour sl" ils ont payé "pour opensim".

[12:18] Andrew Hellershanks : J'ai cherché kdu et le premier résultat était General Sir John Kotelawala Defence University :)

[12:18] Ubit Umarov : contrairement à Havok, où ils utilisent simplement la licence LL.

[12:18] Gavin.Hird @grid.xmir.org:8002 : oui, mais le seul qui a payé pour KDU est Kokua.

[12:18] Gavin.Hird @grid.xmir.org:8002 chuchote : FS l'a obtenu de LL

[12:19] Ubit Umarov: ok

[12:19] Gavin.Hird @grid.xmir.org:8002 : à part cela, personne ne l'utilise à cause de son coût.

[12:19] Ubit Umarov : yeha FS est livré avec openjpg pour opensim

[12:19] Gavin.Hird @grid.xmir.org:8002: oui

[12:20] Gavin.Hird @grid.xmir.org:8002 : pas autorisé à utiliser la licence en dehors de SL.

[12:21] Gavin.Hird @grid.xmir.org:8002 : j'ai donc dû retirer le support KDU des builds 3.0.

Retour à la déduplication : les métadonnées

[12:22] Ubit Umarov : toutes ces différences font échouer la déduplication.

[12:22] Ubit Umarov : je ne vais pas entrer dans le détail des FPUs [48] de tous les cpu qui sont différents etc...

[12:23] Ubit Umarov : les produits Intel [49] ont des bugs, vous vous souvenez ? :P

[12:24] Ubit Umarov : donc je n'ai pas de chiffres réels sur la qualité de la déduplication des fichiers de données.

[12:24] Ubit Umarov : j'espère qu'il déduplique le "nouveau script" :p

[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Bonne question, je sais qu'il ne fait certainement pas les notecards , parce qu'ils ont la date de création et autres enregistrés dans leurs données, donc le hache est toujours différent.

[12:25] Ubit Umarov: ouais

[12:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai écrit un article sur les gaspillages qu'OpenSim collectionne à ce sujet.

[12:25] Ubit Umarov : certains assets ont une date etc...

[12:25] Ubit Umarov : les meshes sont censés en avoir une...

[12:26] Ubit Umarov : mais c'est le travail du serveur de les ajouter, et nous ne l'avons jamais fait.

[12:26] Ubit Umarov : pas sûr de ce que les viewers ajoutent à la métadonnée [50] jpeg2000

[12:27] Ubit Umarov : il est possible qu'il y ait aussi la date et le créateur, ce qui rend le hache inutile sur les meshes.

[12:27] Ubit Umarov : sur la texture je veux dire

[12:27] Ubit Umarov : c'est facile pour vous de le vérifier si vous utilisez fsassets :)

[12:28] Ubit Umarov : téléchargez le même texte à deux reprises et comparez les haches.

[12:29] Ubit Umarov : pas sûr que ceux qui ont fait sras et fsassets connaissaient les métadonnées que les viewers ajoutent.

[12:30] Gavin.Hird @grid.xmir.org:8002 : Je ne pense pas que le viewer ajoute des métadonnées aux données brutes de l'image.

[12:30] Ubit Umarov : ce sont des données j2000 et non des images brutes.

[12:31] Gavin.Hird @grid.xmir.org:8002 : vous comprenez ce que je veux dire.

[12:31] Ubit Umarov : ok :)

[12:31] Ubit Umarov : comme les données de création sur les zones d'information du j2k.

[12:33] Ubit Umarov : l'animation semble être juste une animation.

Conclusion

[12:34] Selby.Evans @grid.kitely.com:8002 : au revoir à tous.

[12:34] Ubit Umarov : salut

[12:34] Andrew Hellershanks : Une autre demi-heure s'est écoulée. Je dois y aller, alors je vais clore la réunion d'aujourd'hui. Je vous remercie tous d'être venus. Nous nous reverrons la semaine prochaine.