Réunion du 22-02-2022

De OSWiki
Aller à la navigation Aller à la recherche

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

[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 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 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 et réécrit les migrations pour changer un tas de champs varchar et char en UUID commec'est maintenant supporté par MariaDB. 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 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.

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

[11:12] Ubit Umarov : à cause de libgdiplus, Cairo, 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...

[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, 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 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# é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 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++ 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 par exemple.

[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : La seule option est 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

[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 : possible 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 à json.

[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 le fait.

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

[11:37] Ubit Umarov: :p

La déduplication des assets

[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 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

[11:38] Ubit Umarov: et xassets

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

[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002 : 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 bruts ?

[11:40] Ubit Umarov: sha256

[11:40] Ubit Umarov : les données de l'asset 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 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 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 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.

[11:45] Ubit Umarov : bien etle 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

[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 ! !!

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

[11:47] Ubit Umarov : fs 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 : Il améliore 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: :)

[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 n'en a pas fait non plus sur la 0.9.2.1 en gros

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

[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: :)

[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 actifs. J'ai vu des réductions de 25 à 50 % de la taille de la table.

[12:02] Ubit Umarov : malheureusement si 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 si susceptibles d'être 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 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 hash est juste une perte de temps.

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

[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 fera (et ne le fait pas).

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

[12:09] Kayaker Magic : Une sorte de hash 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 hash 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 utf16 pour les linksets même si toutes les données sont utf8 -.-.

[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.

[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.

[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: 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.