Open amrosu opened 2 years ago
J'ai refait un test avec toujours un petit cache sur une version plus récente, branche NewAlerts commit b2cfd7be, en mode multi-instances avec pm2. Le mode multi-instances semble fluidifier les actions, mais j'ai néanmoins rencontré le problème de la vue "figée" :
Et la vue peut se figer même si on n'a pas de ZU ou NON_ZU.
La vue itowns peut se figer indépendamment des actions de saisie et sans avoir dans la vue les vecteurs du type ZU ou NON_ZU. Ce problème, comme celui décrit dans #256, semble être lié au nombre de couches à traiter, de leur complexité...
Comme mentionné dans la PR Remarks #271 -> dernier master (8276791a), ce problème se produit plus facilement et plus fréquemment.
Le problème de vue figée semble encore amplifié dans le dernier master (96f75f1), comme mentionné dans la PR #326
J'ai fait des tests de performance récemment sur des versions antérieures du master (ca19569 & 48e0724). Les performances sont sensiblement meilleures que le master actuel (qui inclue la correction sur le wmts), tout en étant insuffisantes pour un contexte de production.
Dans le cas où on a parmi les vecteurs Extra Layers un vecteur de type ZU ou NON_ZU (1 seul objet avec plus de 28 000 sommets) et une couche alertes active, en étant à des zooms >= 1/16 et en faisant une action liée à la saisie ("Select OPI", ou une saisie ou "undo", "redo") cela peut figer la vue itowns. Je vois que l'action demandée semble bien être prise en compte côté API et menu itowns, mais la vue ne semble pas répondre correctement, elle n'arrive pas à se rafraîchir, elle apparaît comme figée (pour la défiger, se déplacer dans la vue en restant au même dezoom ne suffit pas, il faut faire au moins deux dezooms ou une autre action sur la vue pour la rafraîchir et la remettre en état).
Après investigation, je vois que ce problème apparaît avec le commit 28b8dfaf ("fix(monitor): display vector layer at zoom<1/16 (but patches)"), branche VectorNZoom, PR #265, fusionnée dans master 079797e. Il semble être générée par la ligne 213 dans itowns/Viewers.js. Si je mets
min: source.isVectorSource ? this.zoomMinPatch : this.overviews.dataSet.level.min,
, à la place demin: layerName === 'Patches' ? this.zoomMinPatch : this.overviews.dataSet.level.min,
alors pas de problème de vue figée, mais cela n'est pas une solution car on ne veut pas que tous les vecteurs soient invisibles à zooms < 1/16.