PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Optimisation avec WinDev 8 et l'optimiseur
Optimisation avec WinDev 8 et l'optimiseur
Started by csegonds, Sep., 08 2004 7:04 PM - 2 replies
Posted on September, 08 2004 - 7:04 PM
Je vous fait cette petite new afin de partager mon expérience : l'optimiseur
de WinDev 8 aide fortement à trouver ou ca coince dans le code.

J'ai pu en utilisant l'optimiseur de WD8, réduire drastiquement la vitesse
du code que je trouvais lent.
Au final, mon traitement est passé de 6,30 s à 2,15s. Ce qui est loin d'être
négligeable sur un AMD XP 2800+.

Grâce a cette fonction 'OPTIMISEUR', j'ai pu voir que j'effectuais à tort
des fonctions VAL() sur des entiers..., et d'autres choses (copie de chaine
inutile).
Par contre, j'en suis arrivé à un point ou je ne pouvais plus rien faire.
J'utilise la fonction Dligne pour tracer des polygones à partir d'une base
de données.
Les coordonnées des points sont stockées et traduites à la volée en fonction
du niveau de zoom.
J'appelais environ 30 000 fois la fonction dligne pour tracer mes polygones
(environ 1s de traitement).
La fonction Polygone de WinDev n'est pas dynamique, on ne peut pas lui passer
un tableau de point.
J'ai donc utilisé l'API de tracé de polygone(Polyline). L'appel de l'Api
pour tracer environ 5000 polygones prend 118 ms, de plus cela m'a permis
d'alléger mon code (plus besoin de mémoriser le point précédent pour tracer
des segments, réduction du nombre d'appel à la fonction de tracé).
Posted on September, 08 2004 - 7:32 PM
Merci pour l'info, je connaissez mais je n'avais jamais testé.
Je vais le tester.

Antoine

Csegonds wrote:
Je vous fait cette petite new afin de partager mon expérience :
l'optimiseur de WinDev 8 aide fortement à trouver ou ca coince dans
le code.

J'ai pu en utilisant l'optimiseur de WD8, réduire drastiquement la
vitesse du code que je trouvais lent.
Au final, mon traitement est passé de 6,30 s à 2,15s. Ce qui est loin
d'être négligeable sur un AMD XP 2800+.

Grâce a cette fonction 'OPTIMISEUR', j'ai pu voir que j'effectuais à
tort des fonctions VAL() sur des entiers..., et d'autres choses
(copie de chaine inutile).
Par contre, j'en suis arrivé à un point ou je ne pouvais plus rien
faire. J'utilise la fonction Dligne pour tracer des polygones à
partir d'une base de données.
Les coordonnées des points sont stockées et traduites à la volée en
fonction du niveau de zoom.
J'appelais environ 30 000 fois la fonction dligne pour tracer mes
polygones (environ 1s de traitement).
La fonction Polygone de WinDev n'est pas dynamique, on ne peut pas
lui passer un tableau de point.
J'ai donc utilisé l'API de tracé de polygone(Polyline). L'appel de
l'Api pour tracer environ 5000 polygones prend 118 ms, de plus cela
m'a permis d'alléger mon code (plus besoin de mémoriser le point
précédent pour tracer des segments, réduction du nombre d'appel à la
fonction de tracé).
Posted on September, 08 2004 - 11:15 PM
"Csegonds" <csegonds@free.fr> écrivait news:413f1f60@news.pcsoft.fr:

> Grƒce a cette fonction 'OPTIMISEUR',

Salut,

c'est pas plutot l'analyse de performance, et les ordre AnalyseurDébut() et
AnalyseurFin() ?

Car personnellement j'utilise régulièrement ces ordres et cela me permet de
localiser les lacunes de mon code.

--
En esperant t'avoir aidé.
ted