PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Evenement initialisation
Evenement initialisation
Iniciado por PM, 05,jun. 2020 11:37 - 7 respuestas
Miembro registrado
14 mensajes
Publicado el 05,junio 2020 - 11:37
Bonjour,
J'ai une fenêtre Windev avec 3000 objets, principalement des images. L'ouverture de cette fenêtre prend entre 4 et 10 secondes (suivant la machine). La lenteur vient de la fonction Ouvre qui passe dans les événements d'initialisation de tous les éléments de la fenêtre.
Ma question est simple: si on enlève l'événement d'initialisation de tous les éléments, est-ce qu'ils sont juste masqués ou est-ce que Windev ne passera plus dedans, ce qui devrait accélerer l'affichage de ma fenêtre?
Merci pour vos réponses.
Miembro registrado
2.682 mensajes
Publicado el 05,junio 2020 - 12:39
Bonjour,

Ils sont juste masqués

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
334 mensajes
Publicado el 05,junio 2020 - 17:19
Tu devrais peut-être te tourner vers une routine de chargement dans un thread, pour éviter de bloquer l'ouverture de ta fenêtre !

--
———————————————————————————————————
Ce qui se conçoit bien se code clairement et se débogue facilement...

- Pastiche d’une citation de Nicolas Boileau -
Miembro registrado
2.682 mensajes
Publicado el 05,junio 2020 - 17:49
D'ailleurs es-tu sur que ce n'est pas le chargement des images qui est pénalisant ?

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
183 mensajes
Publicado el 05,junio 2020 - 18:11
Je suis curieux de voir 'l'ergonomie' d'une fenêtre avec 3000 objets.
Si c'est de l'affichage, c'est peut-être plus simple/rapide de générer un html ou un pdf ?
Mais si tu l'as développé c'est que cela répond à un besoin.
Explique nous.
Miembro registrado
14 mensajes
Publicado el 06,junio 2020 - 07:26
Il s'agit d'une application de gestion de cabinet dentaire. La fenêtre de paradontologie est complexe car il y a beaucoup d'information par dents.





Pour gérer cela, nous avons mis des images svg. Il y en a 24 par dents. Pour le graphe, c'est aussi un svg, mais qui est généré dynamiquement lors de la création puis qui est sauvé dans la base de données.

Il n'y a pas de différence de vitesse d'affichage de la fenêtre avec un schema paro vide. J'en conclus que c'est le nombre d'éléments qui pose problème et pas les images elle-même vu qu'elle ne s'affiche pas sur un schéma vide. Et comme dans la documentation, il est écrit que la fonction Ouvre passe dans les événements d'initialisation de tous les éléments de la fenêtre, je me demandais si le fait de les désactivés aiderait la vitesse de chargements.





Le problème est que désactiver l'initialisation sur 3000 éléments prend 5 heures... Donc avant de la faire, j'aurai aimé savoir s c'était utile.

La dernière solution envisagée est de créer dynamiquement un svg lors de la modification d'une dent pour diminuer le nombre d'images par dent c'est à dire passer de 24 à 4 soit 20 x 64 dents, 1280 éléments en moins.

Il y a aussi un deuxième plan sur la fenêtre qui permet de comparer les dfférentes mesures. Ce plan contient environ 1000 champs. Je pourrai éventuellement le mettre dans une autre fenêtre.





J'espère que cela vous aide à comprendre ma probèmatique.
Miembro registrado
2.682 mensajes
Publicado el 06,junio 2020 - 09:49
C'est peut-être dans le code d'initialisation qu'il faut chercher. A quoi ressemble ce code ? Y'a-t-il du code dans l’initialisation de chaque objet ?

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
4.362 mensajes
Publicado el 06,junio 2020 - 11:20
Bonjour,
Dans ta 3° capture d'écran, nous avons bien des numériques et non des images ?

--
Il y a peut être plus simple, mais, ça tourne