« Réunion du 03-05-2022 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
(Page créée avec « Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-05-03 = Introduction= [11:02] Kayaker Magic: Here he comes! [11:03] Andrew Hellershanks: Hello, everyone. [11:03] Kayaker Magic: I have an issue today: Anybody know what can cause this error message on the opensim console? [11:03] Kayaker Magic: 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago. [11:04] Kayaker Magic: I... »)
 
Aucun résumé des modifications
 
(27 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


= Introduction=
= Introduction=
[11:02] Kayaker Magic: Here he comes!
[11:02] '''Kayaker Magic''' : Le voilà !
[11:03] Andrew Hellershanks: Hello, everyone.
 
[11:03] Kayaker Magic: I have an issue today: Anybody know what can cause this error message on the opensim console?
[11:03] '''Andrew Hellershanks''' : Bonjour, tout le monde.
[11:03] Kayaker Magic: 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago.
 
[11:04] Kayaker Magic: I have a script that can llock up a region and cause that message a minute or so later. EVERY TIME
= Problème de script : Rezzeur =
[11:04] Ubit Umarov: the bed is very good and heartbeat fallen asleep
* [http://opensimulator.org/wiki/OSSL_Constants#osGetRegionStats.28.29 osGetRegionStats()] : fonction OSSL  qui renvoie une liste de float représentant un certain nombre de statistiques sur la région. Renvoie 21 statistiques simultanément dont STATS_SIM_FPS, STATS_PHYSICS_FPS et STATS_SCRIPT_LPS.
[11:05] Kayaker Magic: But I try to make a smaller version of the script, and the error doesn't happen. At least not yet...
*Yeti : version d'OpenSimulator (0.9.2.0 Yeti)
[11:05] Ubit Umarov: well scripts can do that, hard to tell
 
[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002: You just answered your own question
[11:03] '''Kayaker Magic''' : J'ai un problème aujourd'hui : Quelqu'un sait-il ce qui peut causer ce message d'erreur sur la console opensim ?
[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002: Usually script load or poorly written ones consuming a ton of memory
 
[11:06] Kayaker Magic: The script worked perfectly on older versions of OpenSim. The error started with recent versions.
[11:03] '''Kayaker Magic''': 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago.
[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002: It does recover though
 
[11:06] Kayaker Magic: No, this script is not a bad one. Worked fine for years.
[11:04] '''Kayaker Magic''' : J'ai un script qui peut verrouiller une région et qui provoque ce message une minute plus tard. TOUT LE TEMPS
[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002: Hints at potential scene update queue failure in the long term
 
[11:07] Kayaker Magic: Testing is difficult, every test usually requires restarting or waiting 2 minutes for the region to recover.
[11:04] '''Ubit Umarov''' : le lit est très bon et le cœur bat en s'endormant.
[11:08] Andrew Hellershanks: Yes, you take things out of a script until the errors stop. The last thing removed was the cause of the error.
 
[11:08] Andrew Hellershanks: :)
[11:05] '''Kayaker Magic''' : Mais j'essaie de faire une version plus petite du script, et l'erreur ne se produit pas. Du moins pas encore...
[11:08] Ubit Umarov: selby, are you stuck?
 
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002: It doesn't need to be a single script, overall load is also a factor and the type of operations done by those scripts
[11:05] '''Ubit Umarov''' : les scripts peuvent provoquer ça, mais c'est difficile à dire.
[11:09] Andrew Hellershanks: Kayaker, Does the script use a timer? If so, is it doing too much in the timer handler?
 
[11:09] Kayaker Magic: Unless it is a race condition, then removing something unrelated changes the timing enough to change the result.
[11:05] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Tu viens de répondre à ta propre question
[11:09] Kayaker Magic: The script is completely event driven, has a timer that runs at 0.5 seconds.
 
[11:10] Kayaker Magic: Actually there are two scripts, a rezzer and the thing it rezzes. I'm considering a race condition about how the two of them communicate, but can't verify that yet.
[11:05] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Habituellement, les scripts chargés ou mal écrits consomment une tonne de mémoire.
[11:10] Selby.Evans @grid.kitely.com:8002: I guess so, but fixed
 
[11:11] Ubit Umarov: ok
[11:06] '''Kayaker Magic''' : Le script fonctionnait parfaitement sur les anciennes versions d'OpenSim. L'erreur a commencé avec les versions récentes.
[11:11] Andrew Hellershanks: Kayaker, is it your own rezzer or one of the readily available ones?
 
[11:11] Ubit Umarov: kayker we can't guess those things
[11:06] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Cependant, cela fonctionne
[11:11] Andrew Hellershanks: I have used Builder's Buddy and not had a problem with it.
 
[11:12] Ubit Umarov: only looking to script code, finding potencial relatuons and testing
[11:06] '''Kayaker Magic''' : Non, ce script n'est pas mauvais. Il a bien fonctionné pendant des années.
[11:12] Ubit Umarov: ofc to rez a prim is a heavy operation..
 
[11:12] Ubit Umarov: 1000 od them a bit worse..
[11:06] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Indices de défaillance potentielle de la file d'attente de mise à jour des scènes dans long terme.
[11:12] Ubit Umarov: :p
 
[11:13] Kayaker Magic: My own rezzer.
[11:07] '''Kayaker Magic''' : Les tests sont difficiles, chaque test nécessite généralement de redémarrer ou d'attendre 2 minutes pour que la région récupère.
[11:13] Ubit Umarov: and rez is not a multithread operation
 
[11:13] Andrew Hellershanks: Kayaker, have you checked the regions stats when the region is outputting the error to see if it shows a high LPS number or low FPS numbers?
[11:08] '''Andrew Hellershanks''' : Oui, vous retirez des éléments d'un script jusqu'à ce que les erreurs cessent. La dernière chose retirée était la cause de l'erreur.
[11:13] Kayaker Magic: I'm only hoping for suggestions on what can cause the lockup now when it didnt happen in the last Yeti I build
 
[11:13] Andrew Hellershanks: Hello, Michael.
[11:08] '''Andrew Hellershanks''': :)
[11:13] Michael.Christopher @cc.opensimulator.org:8002: hello
 
[11:13] Ubit Umarov: it will stop other threads while changing shared data
[11:08] '''Ubit Umarov''' : selby, tu es coincé ?
[11:14] Ubit Umarov: but, as i said, we can only guess
 
[11:15] Ubit Umarov: wel abotu code changes last week
[11:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il n'est pas nécessaire que ce soit un seul script, la charge globale est également un facteur et le type d'opérations effectuées par ces scripts.
[11:16] Ubit Umarov: i did made ubode use own copies of the unmanaged libraries
 
[11:16] Andrew Hellershanks: I saw mostly code cleanup type changes but there were two commits referencing mantis reports.
[11:09] '''Andrew Hellershanks''' : Kayaker, le script utilise-t-il un [https://wiki.secondlife.com/wiki/Timer/fr timer] ? Si oui, est-ce qu'il en fait trop dans le timer handler ?
[11:16] Ubit Umarov: so old ode module can stay unchanged
 
[11:16] Kayaker Magic: Yeah, I will keep trying to find a simple way to repeat the problem. But be warned: There is a way to crash Yeti that was not there before. I cannot use recent versions on my regions any more for fear that other things will trigger this.
[11:09] '''Kayaker Magic''' : A moins qu'il s'agisse d'une condition de concurrence, alors enlever quelque chose sans rapport change suffisamment le timing pour changer le résultat.
[11:16] Ubit Umarov: so now ubode uses ubode.dll and  old ode uses ode.dll
 
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah that were some fun little bugs that slipped by, all resolved now, but given the changes to physics might see one or two more as more people test things
[11:09] '''Kayaker Magic''' : Le script est complètement piloté par les évènements, il a un timer qui tourne à 0.5 secondes.
[11:17] Ubit Umarov: that on windows, similar for other operating systems
 
[11:18] Ubit Umarov: then updated ubode with code i had here getting dust for years now
[11:10] '''Kayaker Magic''' : En fait il y a deux scripts, un rezzeur et la chose qu'il rezze. J'envisage une condition de concurrence sur la façon dont les deux communiquent, mais je ne peux pas encore le vérifier.
[11:18] Andrew Hellershanks: brb
 
[11:18] Ubit Umarov: well and some i made also recently
[11:10] '''Selby.Evans @grid.kitely.com:8002''' : Je suppose que oui, mais corrigé
[11:18] Ubit Umarov: mostly same thing, try to save cpu here and there
 
[11:18] Ubit Umarov: in fact ODE is pretty bad code
[11:11] '''Ubit Umarov''' : ok
[11:19] Ubit Umarov: like it is a collection of diferent libraries, all glued somehow
 
[11:19] Ubit Umarov: so the typical issue..  each one has own idea of what a rotation his
[11:11] '''Andrew Hellershanks''' : Kayaker, est-ce que c'est ton propre rezzeur ou l'un de ceux que l'on trouve facilement ?
[11:20] Ubit Umarov: and tons of code converting and copieng between thsoe diference flavours
 
[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002: It's not all quaternions?
[11:11] '''Ubit Umarov''' : kayker nous ne pouvons pas deviner ces choses.
[11:20] Ubit Umarov: ofc not
 
[11:20] Ubit Umarov: quaternions are actually bad
[11:11] '''Andrew Hellershanks''' : J'ai utilisé [https://wiki.secondlife.com/wiki/Builders_Buddy_v1 Builder's Buddy] et je n'ai pas eu de problème avec lui.
[11:20] Michael.Christopher @cc.opensimulator.org:8002: oh?
 
[11:21] Ubit Umarov: all use matrices for rotations
[11:12] '''Ubit Umarov''' : je cherche seulement à écrire du code, trouver des relations potentielles et les tester.
[11:21] Michael.Christopher @cc.opensimulator.org:8002: that caught my attention lolwhat's the better way?
 
[11:21] Ubit Umarov: you can understand that if i tell you that to make a rotation with a quaternion  you always need to get the respective matrice
[11:12] '''Ubit Umarov''' : bien sûr,  rezzer une prim est une opération lourde...
[11:22] Ubit Umarov: so everyone really uses matrices on low level engines
 
[11:23] Ubit Umarov: quaternium only has the space advantage.. like 4 floats versus 9 of similar matrice
[11:12] '''Ubit Umarov''': ''1000 od them a bit worse''..
[11:23] Ubit Umarov: quaternion
 
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002: Difference in processing required for them?
[11:12] '''Ubit Umarov''': :p
[11:24] Ubit Umarov: also does not fit on SIMD instrutions moder
 
[11:24] Ubit Umarov: using SIMD on them may actually be a lot slower
[11:13] '''Kayaker Magic''' : Mon propre rezzeur.
[11:24] Ubit Umarov: well SIMD was made with matrices operations in mind
 
[11:25] Ubit Umarov: well most at least
[11:13] '''Ubit Umarov''' : et rezzer n'est pas une opération multithread.
[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Conversion floating point values and applying some operations to fit 9 into 4 also doesn't sound efficient at all
 
[11:26] Ubit Umarov: well you can see the code on libomv for example
[11:13] '''Andrew Hellershanks''' : Kayaker, as-tu vérifié les statistiques de la région quand elle émet l'erreur pour voir si elle montre un nombre élevé de LPS (Ligne par seconde) ou un nombre faible de FPS (Frame par seconde) ?
[11:26] Ubit Umarov: as i said to multiply a vector by a quat, code is basicly getting the matrice then doing the matrice multiplication
 
[11:27] Ubit Umarov: on matrx you can also extract more information direct
[11:13] '''Kayaker Magic''' : J'espère seulement avoir des suggestions sur ce qui peut causer le blocage maintenant alors que ça n'est pas arrivé dans le dernier Yeti que j'ai compilé.
[11:27] Ubit Umarov: like the axis associated with the rotation.. balba
 
[11:27] Ubit Umarov: also a rotation can also be a scale operation
[11:13] '''Andrew Hellershanks''' : Bonjour, Michael.
[11:28] Ubit Umarov: so only a few not that fast code uses quaternion as rotation representation
 
[11:28] Ubit Umarov: or as long term unchanged storage, ofc
[11:13] '''Michael.Christopher @cc.opensimulator.org:8002''': hello
[11:29] Andrew Hellershanks: I'm back.
 
[11:29] Ubit Umarov: with a quaternion a rotation is even just 3 floats
[11:13] '''Ubit Umarov''' : cela arrêtera les autres threads pendant la transformation des données partagées.
[11:29] Michael.Christopher @cc.opensimulator.org:8002: wb
 
[11:29] Ubit Umarov: because a quat must be normalized.. that meand the 4th float is 1 - Sum of squares of the others
[11:14] '''Ubit Umarov''' : mais, comme je l'ai dit, nous ne pouvons que deviner.
[11:29] Ubit Umarov: LLUDP uses that
 
[11:30] Ubit Umarov: lindens used to be clever coders in tose days
[11:16] '''Kayaker Magic''' : Oui, je vais continuer à essayer de trouver un moyen simple de répéter le problème. Mais soyez avertis : Il y a un moyen de planter Yeti qui n'existait pas avant. Je ne peux plus utiliser les versions récentes sur mes régions de peur que d'autres choses déclenchent cela.
[11:30] Ubit Umarov: not that very low performance code mess they do today
 
[11:30] Ubit Umarov: well by that is other story
= Changements dans le code cette semaine =
[11:31] Ubit Umarov: i actually did refuse to suport another cap viewer use
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim]
[11:31] Ubit Umarov: rye or beq did mentioned it
* [http://opensimulator.org/mantis/my_view_page.php Mantis : Suivi des bogues]
[11:32] Ubit Umarov: happens it is just moving from very compact and fast lludp to slow http using xml like encoding
 
[11:32] Ubit Umarov: that tuns 10 bytes of information in like 200
== Moteurs physiques ubODE et ODE ==
[11:32] Ubit Umarov: ( in that case a lot more )
* [https://fr.wikipedia.org/wiki/Moteur_physique Moteur physique] : bibliothèque logicielle indépendante appliquée à la résolution de problèmes de la mécanique classique. Les résolutions typiques sont les collisions, la chute des corps, les forces, la cinétique, etc. Les moteurs physiques sont principalement utilisés dans des simulations scientifiques et dans les jeux vidéo.
[11:33] Ubit Umarov: so.. code changes...
* [https://fr.wikipedia.org/wiki/Open_Dynamics_Engine ODE] : bibliothèque logicielle libre (double licence GNU LGPL et BSD) se plaçant dans la catégorie des moteurs physiques. Elle sert à simuler l'interaction physique de corps rigides.
[11:33] Ubit Umarov: it is possible ubode now has new issues, ofc
* ubODE : moteur physique
[11:33] Ubit Umarov: nad very hard to debug
 
[11:33] Ubit Umarov: usually we only get  BUMMMMM region died
[11:15] '''Ubit Umarov''' : bien sur les changements de code de la semaine dernière.
[11:33] Ubit Umarov: kind of reports :P
 
[11:34] Ubit Umarov: in windows case a BSOD is also possible :)
[11:16] '''Ubit Umarov''' : j'ai fait en sorte que ubode utilise ses propres copies des bibliothèques[https://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logicielle] non administrées.
[11:34] Michael.Christopher @cc.opensimulator.org:8002: :))
 
[11:34] Ubit Umarov: the last one i got was testing ode.dll changes
[11:16] '''Andrew Hellershanks''' : J'ai vu principalement des changements de type nettoyage de code mais il y avait deux [https://fr.wikipedia.org/wiki/Commit commits] référençant des rapports mantis.
[11:34] Ubit Umarov: :)
 
[11:34] Michael.Christopher @cc.opensimulator.org:8002: ouch
[11:16] '''Ubit Umarov''' : donc l'ancien module ode peut rester inchangé.
[11:35] Ubit Umarov: another changes where a few recent bug fixes
 
[11:35] Ubit Umarov: changed some user por uuid parse by tryparse
[11:16] '''Ubit Umarov''' : donc maintenant ubode utilise ubode.dll et l'ancienne ode utilise ode.dll.
[11:35] Ubit Umarov: because parse now does stop with a error, like guid does.
 
[11:36] Ubit Umarov: in past it did not, just did return uuid.zero, like tryparse does
[11:17] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oui, il y avait quelques petits bogues amusants qui nous avaient échappé, tout est résolu maintenant, mais étant donné les changements apportés à la physique, il se peut qu'il y en ait un ou deux de plus à mesure que les gens testent les choses.
[11:36] Ubit Umarov: same on int, vector3 and bool parse
 
[11:37] Ubit Umarov: ofc made a silly bug on that, found by vicent and now also fixed
[11:17] '''Ubit Umarov''' : cela sur Windows, similaire pour les autres systèmes d'exploitation.
[11:37] Ubit Umarov: the avatars new jump code also had a small issue
 
[11:37] Ubit Umarov: jumps on top of a mesh prim where a lot shorter than on top of a normal prim or terrain
[11:18] '''Ubit Umarov''' : puis j'ai mis à jour ubode avec le code que j'avais ici et qui prend la poussière depuis des années maintenant.
[11:38] Ubit Umarov: added some work aroudn on that.. they look similar again
 
[11:38] Ubit Umarov: issue is how collision is detected...
[11:18] '''Andrew Hellershanks''': Je reviens tout de suite
[11:39] Ubit Umarov: on a simulation look,  a avatar collsion with any prim returns at most 2 collisions
 
[11:39] Ubit Umarov: with a mesh can returrn like 80...
[11:18] '''Ubit Umarov''' : et d'autres que j'ai fait récemment.
[11:40] Ubit Umarov: hte overall IsColliding  basicly counts collisions
 
[11:40] Ubit Umarov: so..  well bad :)
[11:18] '''Ubit Umarov''' : la plupart du temps c'est la même chose, j'essaie d'économiser du cpu [https://fr.wikipedia.org/wiki/Processeur] ici et là.
[11:40] Ubit Umarov: should be better now
 
[11:40] Ubit Umarov: but other area of code tha tneeds revision
[11:18] '''Ubit Umarov''' : en fait, ODE est un code assez mauvais.
[11:41] Ubit Umarov: still old ode code structure..
 
[11:41] Ubit Umarov: sadly not the best.. but still there
[11:19] '''Ubit Umarov''' : comme si c'était une série de différentes bibliothèques, toutes collées d'une manière ou d'une autre.
[11:41] Ubit Umarov: i had also broken sits :p
 
[11:42] Ubit Umarov: in same cases, depending on timing, the sit rotation could be lost due to a delayed update sent by viewers
[11:19] '''Ubit Umarov''' : le problème typique est que chacun a sa propre conception de ce qu'est une rotation.
[11:42] Ubit Umarov: still with a standing rotation...
 
[11:43] Ubit Umarov: that delayed one is again ignored...
[11:20] '''Ubit Umarov''' : et il y a des tonnes de code pour convertir et copier entre ces différentes versions.
[11:44] Ubit Umarov: hope you all see others sitting right here now :)
 
[11:44] Selby.Evans @grid.kitely.com:8002: I do
== Quaternions et matrices ==
[11:45] Ubit Umarov: wel was a bit random, but we coudl see wrong rotations as i told
 
[11:46] Ubit Umarov: typical opensim...  1 improvement 2 new bugs
[11:20] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Ce ne sont pas tous des quaternions [https://fr.wikipedia.org/wiki/Quaternions_et_rotation_dans_l%27espace] ?
[11:46] Ubit Umarov: oops :p
 
[11:46] Michael.Christopher @cc.opensimulator.org:8002: lol
[11:20] '''Ubit Umarov''' : bien sûr que non !
[11:46] Ubit Umarov: ( still looking for the second bug on that :P )
 
[11:47] Ubit Umarov: about ubode unmaged code, i can only compile for win32, 64 and linux64
[11:20] '''Ubit Umarov''' : les quaternions sont en fait incorrects.
[11:47] Ubit Umarov: not mac or linux32
 
[11:48] Ubit Umarov: good news is that gavin told he will complie for mac in next few days
[11:20] '''Michael.Christopher @cc.opensimulator.org:8002''' : oh ?
[11:48] Ubit Umarov: as i did many times in past
 
[11:48] Ubit Umarov: i mean as HE did..
[11:21] '''Ubit Umarov''' : tous utilisent des matrices [https://fr.wikipedia.org/wiki/Matrice_de_rotation] pour les rotations.
[11:48] Ubit Umarov: :)
 
[11:48] Michael.Christopher @cc.opensimulator.org:8002: ok good lol i was trying to think of a way to safely offer to use ours  :))
[11:21] '''Michael.Christopher @cc.opensimulator.org:8002''' : cela a attiré mon attention lol. quelle est la meilleure façon ?
[11:49] Ubit Umarov: so mac users will also get the happy BSODs
 
[11:49] Ubit Umarov: ( not sure if also blue on mac )
[11:21] '''Ubit Umarov''' : vous pouvez comprendre cela si je vous dis que pour faire une rotation avec un quaternion vous aurez toujours besoin de connaître la matrice correspondante.
[11:51] Ubit Umarov: so what news do you have?
 
[11:52] Michael.Christopher @cc.opensimulator.org:8002: done with the patent filing and supposed to have a database specialist on the way over to try ti figure out where we should start
[11:22] '''Ubit Umarov''' : donc, réellement, tout le monde utilise les matrices dans les moteurs de bas niveau.
[11:52] Andrew Hellershanks: Hearing that Gavin is still working on the code is good news.
 
[11:52] Andrew Hellershanks: Michael, what patent filing?
[11:23] '''Ubit Umarov''' : le quaternion a  le seul avantage de l'espace... avec 4 float [https://fr.wikipedia.org/wiki/Virgule_flottante] contre 9 pour la matrice correspondante.
[11:53] Michael.Christopher @cc.opensimulator.org:8002: reality integration layer
 
[11:53] Ubit Umarov: Well and speaking of Gavin, there is a new pre-release Firestorm
[11:23] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Différence dans le traitement requis pour eux ?
[11:53] Ubit Umarov: oops lol :)
 
[11:53] Andrew Hellershanks: :)
[11:24] '''Ubit Umarov''' : ils ne s'adaptent pas non plus aux instructions SIMD[https://fr.wikipedia.org/wiki/Single_instruction_multiple_data#Instructions_SIMD] moder.
[11:53] Ubit Umarov: that includes now LL code with inventory validation
 
[11:54] Ubit Umarov: seems some people is getting errors on that and can't use the viewer
[11:24] '''Ubit Umarov''' : l'utilisation de SIMD sur eux peut être beaucoup plus lente.
[11:54] Ubit Umarov: i have no idea still
 
[11:54] Ubit Umarov: but that "validation" is ofc acording to current lindens idea of what a inventory should be
[11:24] '''Ubit Umarov''' : bien SIMD a été conçu en vue d'utiliser des matrices.
[11:54] Ubit Umarov: would not be suprised if the also had fails at SL
 
[11:55] Ubit Umarov: but sadly many to be expected here, with the old inventories some ppl have
[11:25] '''Ubit Umarov''' : la plupart au moins.
[11:55] Kayaker Magic: The new FS beta solves a problem with Vivox that Kitely was having with HG TPs.
 
[11:55] Ubit Umarov: ahh the loop thing?
[11:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La conversion de valeurs à virgule flottante et l'application de certaines opérations pour faire rentrer 9 dans 4 ne semble pas non plus très efficace.
[11:56] Kayaker Magic: I hear Vivox was hanging up on an HG TP
 
[11:56] Ubit Umarov: seem a commi tby Beq fixing that
[11:26] '''Ubit Umarov''' : vous pouvez voir le code de [https://bitbucket.org/opensimulator/libopenmetaverse/src/master/ libomv] par exemple.
[11:56] Ubit Umarov: seems the viewer was placed on a never ending loop :)
 
[11:57] Kayaker Magic: Right. That has been fixed!
[11:26] '''Ubit Umarov''' : comme je l'ai dit pour multiplier un vecteur par un quaternion, le code de base va récupérer la matrice puis faire la multiplication de la matrice.
[11:57] Michael.Christopher @cc.opensimulator.org:8002: Opensim was the original inspiration, but "the same solution" should be usable in most to all virtual environments.  It's a question of use case for each company how they would best use it (end users should benefit from our platform but not have to pay for it)
 
[11:57] Ubit Umarov: well the rebakes 2 seconds or so afatasr arrival on a region also now gone
[11:27] '''Ubit Umarov''' : sur la matrice vous pouvez aussi extraire plus d'information directement
[11:58] Ubit Umarov: i did spoke about that fix on another meeting
 
[11:58] Ubit Umarov: me rye and beq
[11:27] '''Ubit Umarov''' : comme l'axe associé à la rotation... blabla
[11:59] Selby.Evans @grid.kitely.com:8002: must go -- bye all
 
[11:59] Ubit Umarov: and the bad extra "!"
[11:27] '''Ubit Umarov''' : une rotation peut aussi être une opération de taille.
[11:59] Michael.Christopher @cc.opensimulator.org:8002: bye selby!
 
[12:00] Andrew Hellershanks: Bye, Selby
[11:28] '''Ubit Umarov''' : donc seul un petit nombre de code pas très rapide utilise le quaternion comme représentation de la rotation.
[12:00] Andrew Hellershanks: Another hour has gone by. Any last minute items for today?
 
[12:00] Michael.Christopher @cc.opensimulator.org:8002: not here
[11:28] '''Ubit Umarov''' : ou comme stockage inchangé sur le long terme, bien sûr.
[12:01] Kayaker Magic: Not from me!
 
[12:01] Andrew Hellershanks: ok. I don't see anyone else typing so I will take that as a no from the others.
[11:29] '''Andrew Hellershanks''' : Je suis de retour.
[12:01] Andrew Hellershanks: Thank you all for coming. See you again next week.
 
[12:01] Michael.Christopher @cc.opensimulator.org:8002: have a great week everyone!
[11:29] '''Ubit Umarov''' : même, avec un quaternion, une rotation c'est juste 3 floats.
</pre>
 
[11:29] '''Michael.Christopher @cc.opensimulator.org:8002''': Bon retour
 
[11:29] '''Ubit Umarov''' : parce qu'un quat doit être normalisé... ce qui veut dire que le 4ème float est 1 - Somme des carrés des autres.
 
[11:29] '''Ubit Umarov''' : LLUDP [http://opensimulator.org/wiki/LLUDP_ClientStack/fr] utilise cela
 
[11:30] '''Ubit Umarov''' : les lindens [https://fr.wikipedia.org/wiki/Linden_Lab] étaient des codeurs intelligents à l'époque.
 
[11:30] '''Ubit Umarov''' : ce n'était pas ce code très peu performant qu'ils font aujourd'hui.
 
[11:30] '''Ubit Umarov''' : bon, c'est une autre histoire.
 
== Refus d'utiliser une capacité==
[11:31] '''Ubit Umarov''' : j'ai aussi refusé de soutenir l'utilisation d'une autre cap[http://opensimulator.org/wiki/CAPS] de viewer.
 
[11:31] '''Ubit Umarov''' : Rye[https://github.com/RyeMutt] ou Beq[https://github.com/beqjanus][http://world.secondlife.com/resident/12475f25-933a-4312-8a32-9516e93e6c3b] l'ont mentionné.
 
[11:32] '''Ubit Umarov''' : il s'agissait juste de passer de lludp très compact et rapide à http[https://fr.wikipedia.org/wiki/Hypertext_Markup_Language] lent en utilisant un encodage de type xml[https://fr.wikipedia.org/wiki/Extensible_Markup_Language].
 
[11:32] '''Ubit Umarov''' : cela correspond à 10 octets d'information dans environ 200 octets.
 
[11:32] '''Ubit Umarov''' : ( dans ce cas beaucoup plus )
 
[11:33] '''Ubit Umarov''' : donc... les changements de code...
 
[11:33] '''Ubit Umarov''' : il est possible qu'ubode ait maintenant de nouveaux problèmes, bien sûr.
 
[11:33] '''Ubit Umarov''' : et très difficile à déboguer.
 
[11:33] '''Ubit Umarov''' : en général nous n'avons que le BUMMMMM  de la région qui est morte.
 
[11:33] '''Ubit Umarov''' : ce genre de reports :P
 
[11:34] '''Ubit Umarov''' : dans le cas de Windows un BSOD[https://fr.wikipedia.org/wiki/%C3%89cran_bleu_de_la_mort] est aussi possible :)
 
[11:34] '''Michael.Christopher @cc.opensimulator.org:8002''': :))
 
[11:34] '''Ubit Umarov''' : le dernier que j'ai reçu testait les changements de ode.dll.
 
[11:34] '''Ubit Umarov''' : :)
 
[11:34] '''Michael.Christopher @cc.opensimulator.org:8002''' : ouille.
 
== Remplacement de parse par tryparse ==
* Traduction du mot "parse" : Analyser
 
[11:35] '''Ubit Umarov''' : d'autres changements où quelques corrections de bugs récents.
 
[11:35] '''Ubit Umarov''': ''changed some user por uuid parse by tryparse''
 
[11:35] '''Ubit Umarov''' : parce que parse s'arrête maintenant avec une erreur, comme guid le fait.
 
[11:36] '''Ubit Umarov''' : dans le passé, il ne retournait pas uuid.zero, comme tryparse le fait.
 
[11:36] '''Ubit Umarov''' : même chose pour int, vector3 et bool parse.
 
[11:37] '''Ubit Umarov''' : évidemment cela a provoqué un bug stupide, trouvé par vincent et maintenant aussi corrigé.
 
== Saut des avatars ==
[11:37] '''Ubit Umarov''' : le nouveau code de saut des avatars avait également un petit problème.
 
[11:37] '''Ubit Umarov''' : les sauts au dessus d'une prim mesh étaient beaucoup plus courts qu'au dessus d'une prim normale ou d'un terrain.
 
[11:38] '''Ubit Umarov''' : nous avons travaillé un peu sur ce problème... ils sont à nouveau similaires.
 
[11:38] '''Ubit Umarov''' : le problème est la façon dont la collision est détectée [https://fr.wikipedia.org/wiki/D%C3%A9tection_de_collision]...
 
[11:39] '''Ubit Umarov''' : sur une simulation, une collision d'avatar avec n'importe quelle prim retourne au plus 2 collisions.
 
[11:39] '''Ubit Umarov''' : avec un mesh cela peut aller jusqu'à 80...
 
[11:40] '''Ubit Umarov''' : la méthode globale IsColliding compte les collisions.
 
[11:40] '''Ubit Umarov''' : donc... bien mal :)
 
[11:40] '''Ubit Umarov''' : cela devrait être mieux maintenant.
 
[11:40] '''Ubit Umarov''' : mais il y a d'autres parties du code qui ont besoin d'être révisées.
 
[11:41] '''Ubit Umarov''' : toujours une vieille structure de code...
 
[11:41] '''Ubit Umarov''' : malheureusement pas la meilleure... mais toujours présente.
 
== Rotation sur les sièges ==
[11:41] '''Ubit Umarov''' : j'ai aussi cassé des sièges :p
 
[11:42] '''Ubit Umarov''' : dans les mêmes cas, en fonction du timing, la rotation du siège peut être perdue en raison d'une mise à jour retardée envoyée par les viewers.
 
[11:42] '''Ubit Umarov''' : toujours avec une rotation debout...
 
[11:43] '''Ubit Umarov''' : cette mise à jour retardée est à nouveau ignorée...
 
[11:44] '''Ubit Umarov''' : j'espère que vous voyez tous les autres assis ici maintenant :)
 
[11:44] '''Selby.Evans @grid.kitely.com:8002''' : Je les vois.
 
[11:45] '''Ubit Umarov''' : c'était un peu aléatoire, mais nous aurions pu voir des rotations incorrectes comme je l'ai dit.
 
[11:46] '''Ubit Umarov''' : typique d'opensim...   1 amélioration 2 nouveaux bugs
 
[11:46] '''Ubit Umarov''': oups :p
 
[11:46] '''Michael.Christopher @cc.opensimulator.org:8002''': lol
 
[11:46] '''Ubit Umarov''' : ( toujours à la recherche du deuxième bug sur ce sujet :P )
= Compilation =
[11:47] '''Ubit Umarov''' : à propos du code ubode unmaged, je ne peux compiler que pour win32, 64 et linux64.
 
[11:47] '''Ubit Umarov''' : pas pour mac ou linux32
 
[11:48] '''Ubit Umarov''' : la bonne nouvelle est que gavin a dit qu'il compilera pour mac dans les prochains jours.
 
[11:48] '''Ubit Umarov''' : comme je l'ai fait plusieurs fois dans le passé.
 
[11:48] '''Ubit Umarov''' : je veux dire qu' IL l'a fait...
 
[11:48] '''Ubit Umarov''' : :)
 
[11:48] '''Michael.Christopher @cc.opensimulator.org:8002''' : ok bien lol j'essayais de penser à la façon de proposer d'utiliser le nôtre en toute confiance :)))
 
[11:49] '''Ubit Umarov''' : donc les utilisateurs de mac auront aussi de magnifiques BSODs.
 
[11:49] '''Ubit Umarov''' : (je ne suis pas sûr que le bleu soit aussi présent sur mac)
 
[11:51] '''Ubit Umarov''' : alors quelles nouvelles avez-vous ?
 
[11:52] '''Michael.Christopher @cc.opensimulator.org:8002''' : le dépôt de brevet est terminé et un spécialiste des bases de données est censé arriver pour essayer de déterminer par où commencer.
 
[11:52] '''Andrew Hellershanks''' : Le fait que Gavin travaille toujours sur le code est une bonne nouvelle.
 
[11:52] '''Andrew Hellershanks''' : Michael, quel dépôt de brevet ?
 
[11:53] '''Michael.Christopher @cc.opensimulator.org:8002''' : couche d'intégration de la réalité.
 
= Nouvelle pré-version de Firestorm =
 
[11:53] '''Ubit Umarov''' : En parlant de Gavin, il y a une nouvelle préversion de Firestorm.[https://www.firestormviewer.org/]
 
[11:53] '''Ubit Umarov''' : oups lol :)
 
[11:53] '''Andrew Hellershanks''': :)
 
[11:53] '''Ubit Umarov''' : qui inclut maintenant le code LL avec la validation de l'inventaire.
 
[11:54] '''Ubit Umarov''' : il semble que certaines personnes obtiennent des erreurs à ce sujet et ne peuvent pas utiliser le viewer.
 
[11:54] '''Ubit Umarov''' : je n'ai encore aucune explication.
 
[11:54] '''Ubit Umarov''' : mais cette "validation" est bien sûr conforme à l'idée actuelle de lindens de ce qu'un inventaire devrait être
 
[11:54] '''Ubit Umarov''' : je ne serais pas surpris si le SL avait aussi des échecs.
 
[11:55] '''Ubit Umarov''' : mais malheureusement, il faut s'attendre à beaucoup d'échecs ici, avec les anciens inventaires que certains ont.
 
[11:55] '''Kayaker Magic''' : Le nouveau FS beta résout un problème avec Vivox [https://en.wikipedia.org/wiki/Vivox](en) que Kitely [https://www.kitely.com/] avait avec les HG TPs.
 
[11:55] '''Ubit Umarov''' : ahh le truc de la boucle ?
 
[11:56] '''Kayaker Magic''' : J'ai entendu dire que Vivox raccrochait sur un TP HG.
 
[11:56] '''Ubit Umarov''' : il semble qu'un commit de Beq corrige ce problème.
 
[11:56] '''Ubit Umarov''' : il semble que le viewer était placé dans une boucle sans fin :)
 
[11:57] '''Kayaker Magic''' : C'est vrai. C'est corrigé !
 
[11:57] '''Michael.Christopher @cc.opensimulator.org:8002''' : Opensim était l'inspiration originale, mais "la même solution" devrait être utilisable dans la plupart des environnements virtuels.  C'est une question de cas d'utilisation pour chaque entreprise, comment ils l'utiliseraient au mieux (les utilisateurs finaux devraient bénéficier de notre plateforme mais ne pas avoir à payer pour elle).
 
[11:57] '''Ubit Umarov''' : les rebakes 2 secondes après l'arrivée sur une région ont également disparu.
 
[11:58] '''Ubit Umarov''' : j'ai parlé de cette correction lors d'une autre réunion.
 
[11:58] '''Ubit Umarov''': moi rye et beq
 
[11:59] '''Selby.Evans @grid.kitely.com:8002''' : Je dois y aller -- au revoir à tous.
 
[11:59] '''Ubit Umarov''' : et le mauvais extra " !".
 
= Conclusion =
[11:59] '''Michael.Christopher @cc.opensimulator.org:8002''' : au revoir selby !
 
[12:00] '''Andrew Hellershanks''': Bye, Selby
 
[12:00] '''Andrew Hellershanks''' : Une autre heure s'est écoulée. Des questions de dernière minute pour aujourd'hui ?
 
[12:00] '''Michael.Christopher @cc.opensimulator.org:8002''' : pas ici.
 
[12:01] '''Kayaker Magic''' : Pas pour moi !
 
[12:01] '''Andrew Hellershanks''' : ok. Je ne vois personne d'autre taper alors je vais prendre ça comme un non de la part des autres.
 
[12:01] '''Andrew Hellershanks''' : Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
 
[12:01] '''Michael.Christopher @cc.opensimulator.org:8002''' : Bonne semaine à tous !

Dernière version du 4 mai 2022 à 17:38

Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-05-03

Introduction

[11:02] Kayaker Magic : Le voilà !

[11:03] Andrew Hellershanks : Bonjour, tout le monde.

Problème de script : Rezzeur

  • osGetRegionStats() : fonction OSSL qui renvoie une liste de float représentant un certain nombre de statistiques sur la région. Renvoie 21 statistiques simultanément dont STATS_SIM_FPS, STATS_PHYSICS_FPS et STATS_SCRIPT_LPS.
  • Yeti : version d'OpenSimulator (0.9.2.0 Yeti)

[11:03] Kayaker Magic : J'ai un problème aujourd'hui : Quelqu'un sait-il ce qui peut causer ce message d'erreur sur la console opensim ?

[11:03] Kayaker Magic: 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago.

[11:04] Kayaker Magic : J'ai un script qui peut verrouiller une région et qui provoque ce message une minute plus tard. TOUT LE TEMPS

[11:04] Ubit Umarov : le lit est très bon et le cœur bat en s'endormant.

[11:05] Kayaker Magic : Mais j'essaie de faire une version plus petite du script, et l'erreur ne se produit pas. Du moins pas encore...

[11:05] Ubit Umarov : les scripts peuvent provoquer ça, mais c'est difficile à dire.

[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : Tu viens de répondre à ta propre question

[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : Habituellement, les scripts chargés ou mal écrits consomment une tonne de mémoire.

[11:06] Kayaker Magic : Le script fonctionnait parfaitement sur les anciennes versions d'OpenSim. L'erreur a commencé avec les versions récentes.

[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cependant, cela fonctionne

[11:06] Kayaker Magic : Non, ce script n'est pas mauvais. Il a bien fonctionné pendant des années.

[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Indices de défaillance potentielle de la file d'attente de mise à jour des scènes dans long terme.

[11:07] Kayaker Magic : Les tests sont difficiles, chaque test nécessite généralement de redémarrer ou d'attendre 2 minutes pour que la région récupère.

[11:08] Andrew Hellershanks : Oui, vous retirez des éléments d'un script jusqu'à ce que les erreurs cessent. La dernière chose retirée était la cause de l'erreur.

[11:08] Andrew Hellershanks: :)

[11:08] Ubit Umarov : selby, tu es coincé ?

[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il n'est pas nécessaire que ce soit un seul script, la charge globale est également un facteur et le type d'opérations effectuées par ces scripts.

[11:09] Andrew Hellershanks : Kayaker, le script utilise-t-il un timer ? Si oui, est-ce qu'il en fait trop dans le timer handler ?

[11:09] Kayaker Magic : A moins qu'il s'agisse d'une condition de concurrence, alors enlever quelque chose sans rapport change suffisamment le timing pour changer le résultat.

[11:09] Kayaker Magic : Le script est complètement piloté par les évènements, il a un timer qui tourne à 0.5 secondes.

[11:10] Kayaker Magic : En fait il y a deux scripts, un rezzeur et la chose qu'il rezze. J'envisage une condition de concurrence sur la façon dont les deux communiquent, mais je ne peux pas encore le vérifier.

[11:10] Selby.Evans @grid.kitely.com:8002 : Je suppose que oui, mais corrigé

[11:11] Ubit Umarov : ok

[11:11] Andrew Hellershanks : Kayaker, est-ce que c'est ton propre rezzeur ou l'un de ceux que l'on trouve facilement ?

[11:11] Ubit Umarov : kayker nous ne pouvons pas deviner ces choses.

[11:11] Andrew Hellershanks : J'ai utilisé Builder's Buddy et je n'ai pas eu de problème avec lui.

[11:12] Ubit Umarov : je cherche seulement à écrire du code, trouver des relations potentielles et les tester.

[11:12] Ubit Umarov : bien sûr, rezzer une prim est une opération lourde...

[11:12] Ubit Umarov: 1000 od them a bit worse..

[11:12] Ubit Umarov: :p

[11:13] Kayaker Magic : Mon propre rezzeur.

[11:13] Ubit Umarov : et rezzer n'est pas une opération multithread.

[11:13] Andrew Hellershanks : Kayaker, as-tu vérifié les statistiques de la région quand elle émet l'erreur pour voir si elle montre un nombre élevé de LPS (Ligne par seconde) ou un nombre faible de FPS (Frame par seconde) ?

[11:13] Kayaker Magic : J'espère seulement avoir des suggestions sur ce qui peut causer le blocage maintenant alors que ça n'est pas arrivé dans le dernier Yeti que j'ai compilé.

[11:13] Andrew Hellershanks : Bonjour, Michael.

[11:13] Michael.Christopher @cc.opensimulator.org:8002: hello

[11:13] Ubit Umarov : cela arrêtera les autres threads pendant la transformation des données partagées.

[11:14] Ubit Umarov : mais, comme je l'ai dit, nous ne pouvons que deviner.

[11:16] Kayaker Magic : Oui, je vais continuer à essayer de trouver un moyen simple de répéter le problème. Mais soyez avertis : Il y a un moyen de planter Yeti qui n'existait pas avant. Je ne peux plus utiliser les versions récentes sur mes régions de peur que d'autres choses déclenchent cela.

Changements dans le code cette semaine

Moteurs physiques ubODE et ODE

  • Moteur physique : bibliothèque logicielle indépendante appliquée à la résolution de problèmes de la mécanique classique. Les résolutions typiques sont les collisions, la chute des corps, les forces, la cinétique, etc. Les moteurs physiques sont principalement utilisés dans des simulations scientifiques et dans les jeux vidéo.
  • ODE : bibliothèque logicielle libre (double licence GNU LGPL et BSD) se plaçant dans la catégorie des moteurs physiques. Elle sert à simuler l'interaction physique de corps rigides.
  • ubODE : moteur physique

[11:15] Ubit Umarov : bien sur les changements de code de la semaine dernière.

[11:16] Ubit Umarov : j'ai fait en sorte que ubode utilise ses propres copies des bibliothèques[1] non administrées.

[11:16] Andrew Hellershanks : J'ai vu principalement des changements de type nettoyage de code mais il y avait deux commits référençant des rapports mantis.

[11:16] Ubit Umarov : donc l'ancien module ode peut rester inchangé.

[11:16] Ubit Umarov : donc maintenant ubode utilise ubode.dll et l'ancienne ode utilise ode.dll.

[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, il y avait quelques petits bogues amusants qui nous avaient échappé, tout est résolu maintenant, mais étant donné les changements apportés à la physique, il se peut qu'il y en ait un ou deux de plus à mesure que les gens testent les choses.

[11:17] Ubit Umarov : cela sur Windows, similaire pour les autres systèmes d'exploitation.

[11:18] Ubit Umarov : puis j'ai mis à jour ubode avec le code que j'avais ici et qui prend la poussière depuis des années maintenant.

[11:18] Andrew Hellershanks: Je reviens tout de suite

[11:18] Ubit Umarov : et d'autres que j'ai fait récemment.

[11:18] Ubit Umarov : la plupart du temps c'est la même chose, j'essaie d'économiser du cpu [2] ici et là.

[11:18] Ubit Umarov : en fait, ODE est un code assez mauvais.

[11:19] Ubit Umarov : comme si c'était une série de différentes bibliothèques, toutes collées d'une manière ou d'une autre.

[11:19] Ubit Umarov : le problème typique est que chacun a sa propre conception de ce qu'est une rotation.

[11:20] Ubit Umarov : et il y a des tonnes de code pour convertir et copier entre ces différentes versions.

Quaternions et matrices

[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce ne sont pas tous des quaternions [3] ?

[11:20] Ubit Umarov : bien sûr que non !

[11:20] Ubit Umarov : les quaternions sont en fait incorrects.

[11:20] Michael.Christopher @cc.opensimulator.org:8002 : oh ?

[11:21] Ubit Umarov : tous utilisent des matrices [4] pour les rotations.

[11:21] Michael.Christopher @cc.opensimulator.org:8002 : cela a attiré mon attention lol. quelle est la meilleure façon ?

[11:21] Ubit Umarov : vous pouvez comprendre cela si je vous dis que pour faire une rotation avec un quaternion vous aurez toujours besoin de connaître la matrice correspondante.

[11:22] Ubit Umarov : donc, réellement, tout le monde utilise les matrices dans les moteurs de bas niveau.

[11:23] Ubit Umarov : le quaternion a le seul avantage de l'espace... avec 4 float [5] contre 9 pour la matrice correspondante.

[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Différence dans le traitement requis pour eux ?

[11:24] Ubit Umarov : ils ne s'adaptent pas non plus aux instructions SIMD[6] moder.

[11:24] Ubit Umarov : l'utilisation de SIMD sur eux peut être beaucoup plus lente.

[11:24] Ubit Umarov : bien SIMD a été conçu en vue d'utiliser des matrices.

[11:25] Ubit Umarov : la plupart au moins.

[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : La conversion de valeurs à virgule flottante et l'application de certaines opérations pour faire rentrer 9 dans 4 ne semble pas non plus très efficace.

[11:26] Ubit Umarov : vous pouvez voir le code de libomv par exemple.

[11:26] Ubit Umarov : comme je l'ai dit pour multiplier un vecteur par un quaternion, le code de base va récupérer la matrice puis faire la multiplication de la matrice.

[11:27] Ubit Umarov : sur la matrice vous pouvez aussi extraire plus d'information directement

[11:27] Ubit Umarov : comme l'axe associé à la rotation... blabla

[11:27] Ubit Umarov : une rotation peut aussi être une opération de taille.

[11:28] Ubit Umarov : donc seul un petit nombre de code pas très rapide utilise le quaternion comme représentation de la rotation.

[11:28] Ubit Umarov : ou comme stockage inchangé sur le long terme, bien sûr.

[11:29] Andrew Hellershanks : Je suis de retour.

[11:29] Ubit Umarov : même, avec un quaternion, une rotation c'est juste 3 floats.

[11:29] Michael.Christopher @cc.opensimulator.org:8002: Bon retour

[11:29] Ubit Umarov : parce qu'un quat doit être normalisé... ce qui veut dire que le 4ème float est 1 - Somme des carrés des autres.

[11:29] Ubit Umarov : LLUDP [7] utilise cela

[11:30] Ubit Umarov : les lindens [8] étaient des codeurs intelligents à l'époque.

[11:30] Ubit Umarov : ce n'était pas ce code très peu performant qu'ils font aujourd'hui.

[11:30] Ubit Umarov : bon, c'est une autre histoire.

Refus d'utiliser une capacité

[11:31] Ubit Umarov : j'ai aussi refusé de soutenir l'utilisation d'une autre cap[9] de viewer.

[11:31] Ubit Umarov : Rye[10] ou Beq[11][12] l'ont mentionné.

[11:32] Ubit Umarov : il s'agissait juste de passer de lludp très compact et rapide à http[13] lent en utilisant un encodage de type xml[14].

[11:32] Ubit Umarov : cela correspond à 10 octets d'information dans environ 200 octets.

[11:32] Ubit Umarov : ( dans ce cas beaucoup plus )

[11:33] Ubit Umarov : donc... les changements de code...

[11:33] Ubit Umarov : il est possible qu'ubode ait maintenant de nouveaux problèmes, bien sûr.

[11:33] Ubit Umarov : et très difficile à déboguer.

[11:33] Ubit Umarov : en général nous n'avons que le BUMMMMM de la région qui est morte.

[11:33] Ubit Umarov : ce genre de reports :P

[11:34] Ubit Umarov : dans le cas de Windows un BSOD[15] est aussi possible :)

[11:34] Michael.Christopher @cc.opensimulator.org:8002: :))

[11:34] Ubit Umarov : le dernier que j'ai reçu testait les changements de ode.dll.

[11:34] Ubit Umarov : :)

[11:34] Michael.Christopher @cc.opensimulator.org:8002 : ouille.

Remplacement de parse par tryparse

  • Traduction du mot "parse" : Analyser

[11:35] Ubit Umarov : d'autres changements où quelques corrections de bugs récents.

[11:35] Ubit Umarov: changed some user por uuid parse by tryparse

[11:35] Ubit Umarov : parce que parse s'arrête maintenant avec une erreur, comme guid le fait.

[11:36] Ubit Umarov : dans le passé, il ne retournait pas uuid.zero, comme tryparse le fait.

[11:36] Ubit Umarov : même chose pour int, vector3 et bool parse.

[11:37] Ubit Umarov : évidemment cela a provoqué un bug stupide, trouvé par vincent et maintenant aussi corrigé.

Saut des avatars

[11:37] Ubit Umarov : le nouveau code de saut des avatars avait également un petit problème.

[11:37] Ubit Umarov : les sauts au dessus d'une prim mesh étaient beaucoup plus courts qu'au dessus d'une prim normale ou d'un terrain.

[11:38] Ubit Umarov : nous avons travaillé un peu sur ce problème... ils sont à nouveau similaires.

[11:38] Ubit Umarov : le problème est la façon dont la collision est détectée [16]...

[11:39] Ubit Umarov : sur une simulation, une collision d'avatar avec n'importe quelle prim retourne au plus 2 collisions.

[11:39] Ubit Umarov : avec un mesh cela peut aller jusqu'à 80...

[11:40] Ubit Umarov : la méthode globale IsColliding compte les collisions.

[11:40] Ubit Umarov : donc... bien mal :)

[11:40] Ubit Umarov : cela devrait être mieux maintenant.

[11:40] Ubit Umarov : mais il y a d'autres parties du code qui ont besoin d'être révisées.

[11:41] Ubit Umarov : toujours une vieille structure de code...

[11:41] Ubit Umarov : malheureusement pas la meilleure... mais toujours présente.

Rotation sur les sièges

[11:41] Ubit Umarov : j'ai aussi cassé des sièges :p

[11:42] Ubit Umarov : dans les mêmes cas, en fonction du timing, la rotation du siège peut être perdue en raison d'une mise à jour retardée envoyée par les viewers.

[11:42] Ubit Umarov : toujours avec une rotation debout...

[11:43] Ubit Umarov : cette mise à jour retardée est à nouveau ignorée...

[11:44] Ubit Umarov : j'espère que vous voyez tous les autres assis ici maintenant :)

[11:44] Selby.Evans @grid.kitely.com:8002 : Je les vois.

[11:45] Ubit Umarov : c'était un peu aléatoire, mais nous aurions pu voir des rotations incorrectes comme je l'ai dit.

[11:46] Ubit Umarov : typique d'opensim... 1 amélioration 2 nouveaux bugs

[11:46] Ubit Umarov: oups :p

[11:46] Michael.Christopher @cc.opensimulator.org:8002: lol

[11:46] Ubit Umarov : ( toujours à la recherche du deuxième bug sur ce sujet :P )

Compilation

[11:47] Ubit Umarov : à propos du code ubode unmaged, je ne peux compiler que pour win32, 64 et linux64.

[11:47] Ubit Umarov : pas pour mac ou linux32

[11:48] Ubit Umarov : la bonne nouvelle est que gavin a dit qu'il compilera pour mac dans les prochains jours.

[11:48] Ubit Umarov : comme je l'ai fait plusieurs fois dans le passé.

[11:48] Ubit Umarov : je veux dire qu' IL l'a fait...

[11:48] Ubit Umarov : :)

[11:48] Michael.Christopher @cc.opensimulator.org:8002 : ok bien lol j'essayais de penser à la façon de proposer d'utiliser le nôtre en toute confiance :)))

[11:49] Ubit Umarov : donc les utilisateurs de mac auront aussi de magnifiques BSODs.

[11:49] Ubit Umarov : (je ne suis pas sûr que le bleu soit aussi présent sur mac)

[11:51] Ubit Umarov : alors quelles nouvelles avez-vous ?

[11:52] Michael.Christopher @cc.opensimulator.org:8002 : le dépôt de brevet est terminé et un spécialiste des bases de données est censé arriver pour essayer de déterminer par où commencer.

[11:52] Andrew Hellershanks : Le fait que Gavin travaille toujours sur le code est une bonne nouvelle.

[11:52] Andrew Hellershanks : Michael, quel dépôt de brevet ?

[11:53] Michael.Christopher @cc.opensimulator.org:8002 : couche d'intégration de la réalité.

Nouvelle pré-version de Firestorm

[11:53] Ubit Umarov : En parlant de Gavin, il y a une nouvelle préversion de Firestorm.[17]

[11:53] Ubit Umarov : oups lol :)

[11:53] Andrew Hellershanks: :)

[11:53] Ubit Umarov : qui inclut maintenant le code LL avec la validation de l'inventaire.

[11:54] Ubit Umarov : il semble que certaines personnes obtiennent des erreurs à ce sujet et ne peuvent pas utiliser le viewer.

[11:54] Ubit Umarov : je n'ai encore aucune explication.

[11:54] Ubit Umarov : mais cette "validation" est bien sûr conforme à l'idée actuelle de lindens de ce qu'un inventaire devrait être

[11:54] Ubit Umarov : je ne serais pas surpris si le SL avait aussi des échecs.

[11:55] Ubit Umarov : mais malheureusement, il faut s'attendre à beaucoup d'échecs ici, avec les anciens inventaires que certains ont.

[11:55] Kayaker Magic : Le nouveau FS beta résout un problème avec Vivox [18](en) que Kitely [19] avait avec les HG TPs.

[11:55] Ubit Umarov : ahh le truc de la boucle ?

[11:56] Kayaker Magic : J'ai entendu dire que Vivox raccrochait sur un TP HG.

[11:56] Ubit Umarov : il semble qu'un commit de Beq corrige ce problème.

[11:56] Ubit Umarov : il semble que le viewer était placé dans une boucle sans fin :)

[11:57] Kayaker Magic : C'est vrai. C'est corrigé !

[11:57] Michael.Christopher @cc.opensimulator.org:8002 : Opensim était l'inspiration originale, mais "la même solution" devrait être utilisable dans la plupart des environnements virtuels. C'est une question de cas d'utilisation pour chaque entreprise, comment ils l'utiliseraient au mieux (les utilisateurs finaux devraient bénéficier de notre plateforme mais ne pas avoir à payer pour elle).

[11:57] Ubit Umarov : les rebakes 2 secondes après l'arrivée sur une région ont également disparu.

[11:58] Ubit Umarov : j'ai parlé de cette correction lors d'une autre réunion.

[11:58] Ubit Umarov: moi rye et beq

[11:59] Selby.Evans @grid.kitely.com:8002 : Je dois y aller -- au revoir à tous.

[11:59] Ubit Umarov : et le mauvais extra " !".

Conclusion

[11:59] Michael.Christopher @cc.opensimulator.org:8002 : au revoir selby !

[12:00] Andrew Hellershanks: Bye, Selby

[12:00] Andrew Hellershanks : Une autre heure s'est écoulée. Des questions de dernière minute pour aujourd'hui ?

[12:00] Michael.Christopher @cc.opensimulator.org:8002 : pas ici.

[12:01] Kayaker Magic : Pas pour moi !

[12:01] Andrew Hellershanks : ok. Je ne vois personne d'autre taper alors je vais prendre ça comme un non de la part des autres.

[12:01] Andrew Hellershanks : Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.

[12:01] Michael.Christopher @cc.opensimulator.org:8002 : Bonne semaine à tous !