« Réunion du 12-09-2023 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(12 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Changements du code de la semaine=
= Changements du code de la semaine=
* Pas de changement de code cette semaine.
* Pas de changement de code cette semaine.
= Noyau=
= Avertissement =
= Base de données =
{{Avertissement_résumé|fond=pink |bord=red |message = Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux [http://opensimulator.org/wiki/Office_hours réunions du mardi] ou  sur [http://opensimulator.org/wiki/IRC le canal IRC]}}
= Modules =
= Modules =
=== Cartes ===
=== Cartes ===
* Il est possible que COOL VL Viewer utilise encore les tuiles de carte V1 c'est à dire une image par région qui est un asset qui remplit les base de données. Le viewer V2 récupère la carte à partir d'un service de carte spécial.(V1 et V2 font surtout référence au type de viewer). Cela implique deux solutions pour faire la même chose et un spam d'assets.  
* Il est possible que COOL VL Viewer utilise encore les '''tuiles de carte V1''' c'est à dire une image par région qui est '''un asset''' qui remplit les base de données. '''Le viewer V2 récupère la carte à partir d'un service de carte spécial.'''(V1 et V2 font surtout référence au type de viewer). Cela implique deux solutions pour faire la même chose et un spam d'assets.  
* Requête SQL pour trouver les enregistrements inutiles liés à la carte dans la base de données de la grille et purger toutes les versions uniques sauf les plus récentes :  
* '''Requête SQL pour trouver les enregistrements inutiles''' liés à la carte dans la base de données de la grille et purger toutes les versions uniques sauf les plus récentes ( d'après Ubit Umarov, pas sur qu'on puisse supprimer les assets dans fsassets):  
  SELECT (`name`), id, FROM_UNIXTIME(create_time)
  SELECT (`name`), id, FROM_UNIXTIME(create_time)
  FROM assets WHERE `name` LIKE '%terrainImage%'
  FROM assets WHERE `name` LIKE '%terrainImage%'
  ORDER BY create_time DESC;
  ORDER BY create_time DESC;
(NDLR : sur ma grille je trouve des résultats en remplaçant la table assets par fsassets puisque j'utilise cette fonctionnalité). Le nom de la maptile est terrainImage_ suivi de l'identifiant de la région. Donc, en se basant sur cela et sur l'horodatage, on peut créer une seule tuile pour chaque région.
(NDLR : sur ma grille je trouve des résultats en remplaçant la table assets par fsassets puisque j'utilise cette fonctionnalité). Le nom de la maptile est terrainImage_ suivi de l'identifiant de la région. Donc, en se basant sur cela et sur l'horodatage, on peut créer une seule tuile pour chaque région.
* Développement :  
* '''Développement''' :  
**regioninfo indique au Viewer le handle, la taille  et l'identifiant de la carte. Robust peut donner une tuile au viewer très rapidement.  
**regioninfo indique au Viewer le handle, la taille  et l'identifiant de la carte. Robust peut donner une tuile au viewer très rapidement.  
** Utilisation du flag de l'asset :  asset.Flags = AssetFlags.Maptile;
** Utilisation du flag de l'asset :  asset.Flags = AssetFlags.Maptile;
Ligne 24 : Ligne 24 :
                 m_scene.AssetService.Delete(lastID.ToString()) ;
                 m_scene.AssetService.Delete(lastID.ToString()) ;


* Solution : se débarrasser des anciennes tuiles. Ces assets ont un flag temps dans la base de donnée (ndrl : asset_flags ?)  mais généralement, il ne fonctionne pas.  
* '''Solution''' : se débarrasser des anciennes tuiles. Ces assets ont un flag temps dans la base de donnée (ndrl : asset_flags ?)  mais généralement, il ne fonctionne pas. D'une manière ou d'une autre, nous n'avons techniquement pas besoin dassets dans OpenSim puisque Robust peut servir les maptiles, mais pas en une seule image pour les varregions. Le viewer trouve regionInfo puis demande aux assets la tuile de la région. Donc,  si le serveur d'assets sait que l'UUID est une tuile et qu'il faut s'adresser à Robust, Robust pourrait alors la fournir, même lui apprendre à faire des tuiles combinées pour les varregions.
* La heighmap
 
** demande de mise en cahe de la Heighmap pour ne pas devoir la recharger à chaque passage sur une région surtout varregion.
* '''La heighmap'''
** demande de mise en cache de la Heighmap pour ne pas devoir la recharger à chaque passage sur une région surtout varregion.
** problème :  la carte des hauteurs peut changer dynamiquement si quelqu'un modifie le terrain.
** problème :  la carte des hauteurs peut changer dynamiquement si quelqu'un modifie le terrain.
** une idée serait d'utiliser une sorte de hachage pour que le viewer vérifie si la carte ou la haighmap est toujours valide. Mais, le viewer doit pouvoir le supporter.   
** une idée serait d'utiliser une sorte de hachage pour que le viewer vérifie si la carte ou la heighmap est toujours valide. Mais, le viewer doit pouvoir le supporter.   
* Projet de Joe Magarac : construire des cartes en 3D en prenant des photos en 2D sous différents angles et en les introduisant dans Open Drone Mapper.
* '''Projet de Joe Magarac''' : construire des cartes en 3D en prenant des photos en 2D sous différents angles et en les introduisant dans Open Drone Mapper.
** Exemple  d'affichage de carte : http://animats.com/sl/map/. Presser sur la touche CTRL + bouton gauche de la souris.
** Exemple  d'affichage de carte : http://animats.com/sl/map/. Presser sur la touche CTRL + bouton gauche de la souris.
** Carte 3D : https://community.secondlife.com/forums/topic/502095-big-world-impostor-test-128m/page/2/#comment-2630978
** Carte 3D : https://community.secondlife.com/forums/topic/502095-big-world-impostor-test-128m/page/2/#comment-2630978
= Bugs =
= Tests =
= Tests =
* Le projet de tests xunit est toujours bloqué au même endroit , c'est à dire essayer de faire fonctionner les tests dans Visual Studio sans utiliser Nuget.
* Le projet de tests xunit est toujours bloqué au même endroit , c'est à dire essayer de faire fonctionner les tests dans Visual Studio sans utiliser Nuget.
= Projets en cours / Infos=
= Viewers=
= Viewers=
=== Sharpview===
=== Sharpview===
Ligne 45 : Ligne 43 :


= Source=
= Source=
<!--
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-09-12
[11:40 AM PT]  Ubit Umarov: not sure if fsassets lets assets to be deleted.. that is other issue
[11:40 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Temp assets created from hg things are removed from database, I keep finding the files for them on disk with the db entry missing, so there is something that deletes them, just not working all that reliably it seems or there are additional conditions
[11:42 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: I need to check for var regions, but I think regioninfo only contains a single uuid for those too so the image that is put there has to be of the entire region
[11:42 AM PT]  Ubit Umarov: well default maps are region/grid job
[11:44 AM PT]  Ubit Umarov: var regions get a image 256px or 512px
[11:44 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Either way we technically don't need the asset as robust can serve maptiles, just not var regions as one image
[11:44 AM PT]  Gavin.Hird @grid.xmir.org:8002: rather than doing an insert for each new region maptile version, you could in code do an upsert rather. which would keep just one tile per region
[11:45 AM PT]  Joe Magarac: I'm thinking that mapping is a job for a bot that flies over once a week or so.
[11:45 AM PT]  Ubit Umarov: using(Bitmap scaledbmp = Util.ResizeImageSolid(mapbmp, (int)(bx * scale), (int)(by * scale)))
                                data = OpenJPEG.EncodeFromImage(scaledbmp, true);
[11:45 AM PT]  Ubit Umarov: like that :p
[11:45 AM PT]  Joe Magarac: Don't need simulator code for it.
[11:45 AM PT]  Gavin.Hird @grid.xmir.org:8002: the upsert is just changed sql
[11:45 AM PT]  Ubit Umarov: i can only talk about opensim ...
[11:46 AM PT]  Ubit Umarov: and what we see most viewers do
[11:46 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Viewer gets regionInfo then asks assets for the tile, So if asset server knows "this uuid is a tile, ask robust", robust could then provide it, even teaching it to make combined tiles for var regions wouldn't be hard
[11:46 AM PT]  Joe Magarac: Just fly over at about 128m above ground level and take an orthographic picture.
[11:47 AM PT]  Joe Magarac: Not in UUID asset system at all. Separate server.
[11:47 AM PT]  Ubit Umarov: ??
[11:47 AM PT]  Joe Magarac: For 3D map tiles.
[11:47 AM PT]  Ubit Umarov: a asset is a asset.. maps have no special handling
[11:48 AM PT]  Andrew Hellershanks: Height above ground level will vary based on the region size.
[11:48 AM PT]  Ubit Umarov: except that flag
[11:48 AM PT]  Joe Magarac: Over in SL, the maps are in a completely different server system.
[11:49 AM PT]  Gavin.Hird @grid.xmir.org:8002: or you have regions where there are steep inclines where the terrain raise from water level to 250 meters over a distance of say 50 meters
[11:49 AM PT]  Ubit Umarov: warp3d does take ortho from above
[11:49 AM PT]  Ubit Umarov: and at opensim we do gen them on regions because only thsoe get all the relevant contents
[11:49 AM PT]  Joe Magarac: ah, you already have that simulator side.
[11:49 AM PT]  Gavin.Hird @grid.xmir.org:8002: Joe, in OpenSim, it must also work in standalone. we can't have loads of specialized  servers
[11:50 AM PT]  Joe Magarac: Right. I'm looking at this mostly for SL mainland.
[11:50 AM PT]  Ubit Umarov: then regiosn do upload them as asset for v1 viewers and to the map service..
[11:50 AM PT]  Ubit Umarov: sl does the same
[11:50 AM PT]  Ubit Umarov: well or similar
[11:51 AM PT]  Ubit Umarov: you get maps from the SL map service
[11:51 AM PT]  Joe Magarac: Yes. https://map.secondlife.com/map-3-980-1016-objects.jpg
[11:51 AM PT]  Ubit Umarov: in fact you can get them even with a webbrowser
[11:51 AM PT]  Joe Magarac: Though that's not working right now.
[11:52 AM PT]  Ubit Umarov: rror>
AccessDenied
[11:52 AM PT]  Ubit Umarov: yeah
[11:52 AM PT]  Joe Magarac: Right.
[11:52 AM PT]  Ubit Umarov: well i don't know.. that is sl :p
[11:54 AM PT]  Ubit Umarov: thikn that is not the api for viewers also..
[11:54 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: We generate the tile and store it as asset, uuid of which ends up in the regions table. So we technically don't need to store the asset at all. Just need to teach asset server "if uuid not found check regions table regionMapTexture" if present there just ask robust map service to fetch the tile corresponding to that region. If it is a var we then would only need to tell robust to combine the individual tiles into one.
[11:54 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Problem is that approach makes assets a bit heavy unless the regions table data is cached
[11:54 AM PT]  Joe Magarac: OK.
[11:54 AM PT]  Ubit Umarov: ufff
[11:54 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Defer to robust is also not ideal
[11:54 AM PT]  Ubit Umarov: we store as a asset, because that is what viewers v1 want... period
[11:55 AM PT]  Ubit Umarov: no relation with the map service
[11:55 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Yes
[11:55 AM PT]  Joe Magarac: Ah.
[11:55 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: Where asset server gets the data though doesn't matter so long as it is served as asset
[11:56 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: If it has to ask map service for it and then serve it that could work, but is a bit of a roundabout way of doing it
[11:56 AM PT]  Andrew Hellershanks: It is 5 minutes to the top of the hour. Does anyone have a question or comment about something other than maptiles?
[11:56 AM PT]  Jagga Meredith: Had a weird problem over on aviworlds (9.2.1).  My avatar there (sitting behind me) couldn't fly more than one second without bugsplatting.  I TP'd her to my region on osgrid (9.2.2) and flew around for awhile, went back to aviworlds and it's been fine since.
[11:57 AM PT]  Joe Magarac: Actual SL map tile URL: https://secondlife-maps-cdn.akamaized.net/map-1-1002-1015-objects.jpg
[11:58 AM PT]  Andrew Hellershanks: Definitely sounds like an odd problem, Jagga.
[11:58 AM PT]  Gavin.Hird @grid.xmir.org:8002: bugsplatting?
[11:58 AM PT]  Vincent.Sylvester @hg.zetaworlds.com: viewer crash
[11:59 AM PT]  Andrew Hellershanks: Did you try a relog at aviworlds before you TP'd to your region and back?
[11:59 AM PT]  Jagga Meredith: yes, several times, also cleared cache
[11:59 AM PT]  Joe Magarac: Sorry, have to go, next meeting. Thanks all.
[11:59 AM PT]  Andrew Hellershanks: oh. I thought you meant that the avi kept falling to the ground instead of flying.
[11:59 AM PT]  Andrew Hellershanks: ok, Joe. Thanks for droppingby.
[11:59 AM PT]  Andrew Hellershanks: Jagga, what viewer were you using?
[11:59 AM PT]  Jagga Meredith: FS latest
[12:00 PM PT]  Jagga Meredith: 6.6.14.69596
[12:00 PM PT]  Andrew Hellershanks: ok
[12:01 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Viewer does keep logs so if you can repeat the crash save the log file afterwards so it can be examined
[12:01 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: First need to figure out what it is crashing on
[12:01 PM PT]  Jagga Meredith: k
[12:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: From OpenSim end the options are too plentiful, knowing what the viewer expects to happen or what data it doesn't get would give the pointer on where to look
[12:03 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Though as development moves if it isn't an issue with current release or dev versions up to the grid to backport a fix I guess
[12:04 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: The fix teleporting to a newer version suggest something with avatar data packaging, but hard to say what exactly
[12:04 PM PT]  Kayaker Magic: There is a viewer crash that is related to the terrain, look and see if there are holes in the terrain just before the crash.
[12:04 PM PT]  Jagga Meredith: Can't get Simularity to install on Windows 11.  Wants a certain version of vlc library.  Installing C  etc. didn't help
[12:05 PM PT]  Kayaker Magic: Certain terrain shapes cause it, changing the terrain slightly with a terrain tool set low will fill in the holes, then the crash goes away.
[12:05 PM PT]  Jagga Meredith: ok, was happening in multiple relgions.  basiclly couldn't fly at all
[12:07 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Does this happen every time you login or has the problem now gone away entirely even after relog?
[12:07 PM PT]  Jagga Meredith: gone for good far as I can tell
[12:08 PM PT]  Jagga.Meredith @login.aviworlds.com:8002: brb
[12:08 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Then unless FS happened to make a dump folder for those crashes and kept a log copy will be hard to track down
[12:10 PM PT]  Gavin.Hird @grid.xmir.org:8002: Since FS use Bugsplat, the dump is formatted for it, so you most likely have to have Bugsplat to analyze the dump
[12:10 PM PT]  Jagga.Meredith @login.aviworlds.com:8002: yup
[12:10 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: It used to keep a dump file and log copy, though the latter not always worked right sometimes it'd be 0kb
[12:11 PM PT]  Jagga Meredith: ok thanks
[12:11 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: If it doesn't happen anymore could be some bad data, moving grids serializing the data for transmit might have fixed something
[12:12 PM PT]  Jagga Meredith: yeah
[12:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Very little input validation otherwise
[12:13 PM PT]  Ubit Umarov: ok rl calls
[12:13 PM PT]  Ubit Umarov: cya ppl
[12:13 PM PT]  Andrew Hellershanks: ok, Ubit. See you next week.
[12:13 PM PT]  Jagga Meredith: that's what I was trying to accomplish by TPing to osgrid region.  it's huge
[12:13 PM PT]  Andrew Hellershanks: Any final thoughts before we wrap up todays meeting?
[12:14 PM PT]  Gavin.Hird @grid.xmir.org:8002: nope
[12:14 PM PT]  Andrew Hellershanks: ok. That will conclude this weeks gathering.
[12:14 PM PT]  Andrew Hellershanks: Thank you all for coming. See you again next week.
__>

Dernière version du 26 février 2024 à 01:29

Changements du code de la semaine

  • Pas de changement de code cette semaine.

Avertissement

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


Modules

Cartes

  • Il est possible que COOL VL Viewer utilise encore les tuiles de carte V1 c'est à dire une image par région qui est un asset qui remplit les base de données. Le viewer V2 récupère la carte à partir d'un service de carte spécial.(V1 et V2 font surtout référence au type de viewer). Cela implique deux solutions pour faire la même chose et un spam d'assets.
  • Requête SQL pour trouver les enregistrements inutiles liés à la carte dans la base de données de la grille et purger toutes les versions uniques sauf les plus récentes ( d'après Ubit Umarov, pas sur qu'on puisse supprimer les assets dans fsassets):
SELECT (`name`), id, FROM_UNIXTIME(create_time)
FROM assets WHERE `name` LIKE '%terrainImage%'
ORDER BY create_time DESC;

(NDLR : sur ma grille je trouve des résultats en remplaçant la table assets par fsassets puisque j'utilise cette fonctionnalité). Le nom de la maptile est terrainImage_ suivi de l'identifiant de la région. Donc, en se basant sur cela et sur l'horodatage, on peut créer une seule tuile pour chaque région.

  • Développement :
    • regioninfo indique au Viewer le handle, la taille et l'identifiant de la carte. Robust peut donner une tuile au viewer très rapidement.
    • Utilisation du flag de l'asset : asset.Flags = AssetFlags.Maptile;
    • Code dans le système d'exploitation pour essayer de supprimer les assets temporaires chaque fois qu'un nouvel asset est créé/
 private void GenerateMaptile(Bitmap mapbmp)
       {
           bool needRegionSave = false ;
           // supprimer les anciens actifs
           UUID lastID = m_scene.RegionInfo.RegionSettings.TerrainImageID ;
           if (!lastID.IsZero())
           {
               m_scene.AssetService.Delete(lastID.ToString()) ;
  • Solution : se débarrasser des anciennes tuiles. Ces assets ont un flag temps dans la base de donnée (ndrl : asset_flags ?) mais généralement, il ne fonctionne pas. D'une manière ou d'une autre, nous n'avons techniquement pas besoin dassets dans OpenSim puisque Robust peut servir les maptiles, mais pas en une seule image pour les varregions. Le viewer trouve regionInfo puis demande aux assets la tuile de la région. Donc, si le serveur d'assets sait que l'UUID est une tuile et qu'il faut s'adresser à Robust, Robust pourrait alors la fournir, même lui apprendre à faire des tuiles combinées pour les varregions.
  • La heighmap
    • demande de mise en cache de la Heighmap pour ne pas devoir la recharger à chaque passage sur une région surtout varregion.
    • problème : la carte des hauteurs peut changer dynamiquement si quelqu'un modifie le terrain.
    • une idée serait d'utiliser une sorte de hachage pour que le viewer vérifie si la carte ou la heighmap est toujours valide. Mais, le viewer doit pouvoir le supporter.
  • Projet de Joe Magarac : construire des cartes en 3D en prenant des photos en 2D sous différents angles et en les introduisant dans Open Drone Mapper.

Tests

  • Le projet de tests xunit est toujours bloqué au même endroit , c'est à dire essayer de faire fonctionner les tests dans Visual Studio sans utiliser Nuget.

Viewers

Sharpview

Dayturn

  • Pas encore de retour aux anciens profils pour le viewer OpenSim.

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-09-12