OVH Cloud OVH Cloud

Optimisation générale du code

13 réponses
Avatar
Albert P.
Bonjour,

Comme toute application qui existe depuis longtemps, notre code s'est
allourdi petit a petit ... pour "s'usinagazifier" ... il faut dire que
l'appli a été créé en 5.5 ... avec toutes les mises à jour qui s'imposent
depuis (en 10 pour l'instant) ... et pour prévenir tout débordement, il ne
nous est pas encore possible de recommencer un développement à 0.

J'aurais donc besoin d'un petit retour d'expérience de votre part :

Par exemple, pour une fonction gigantissime de quelques centaines de lignes
(nombreux selons imbriqués) serait-il plus performant d'isoler les codes des
différents cas dans des procedures séparées, la procedure principale ne
contenant que le selon principal et l'appel aux fonctions secondaires ?

Selon choix1
cas 1
30 lignes de code
cas 2
200 lignes de code
cas N

autres cas
fin

ou

Selon choix 1
cas 1 : fonction1()
cas 2 : fonction2()
cas N : fonctionN()
autres cas
fin

De même, notre fenêtre principale contient à l'heure actuelle environ 300
champs (boutons, libellés, tables, ...) cela a t'il un impact sur les
performances et si oui, comment faire pour y remédier ?

Quelles sont les astuces ou réalitées de notre logiciel préféré qui
pourraient m'aider à alleger un peu mon application.

Merci d'avance pour vos avis éclairés.

Albert P.

3 réponses

1 2
Avatar
Albert P.
"Daniel" a écrit dans le message de news:
49eed2d7$0$6853$
Albert P. a écrit :
"BrnWrk" a écrit dans le message de news:

Albert P. avait écrit le 22/04/2009 :
Bonjour à tous.

Pour résumer, une grosse procédure ou plusieurs petites, mis à part
pour de questions de maintenance, pas de différence ... ou alors
tellement minime que l'analyseur de performance ne permet pas de les
détecter.

Une question néanmoins, avez vous trouver des solutions pour optimiser
les phases d'ouverture et de fermeture de fenêtres ... j'ai
régulièrement pour l'ouverture d'une fenêtre (ouvre normal) le
"traitement interne au moteur d'exécution" qui prends 284ms ... c'est
peu pourrait-on dire, mais le résultat à l'écran donne une impression
de lenteur (surtout avec les problèmes de raffraichissement écran que
l'on connait avec windev).

Des solutions ... pour avoir des ouvertures / fermetures de fenêtres
plus réactives ?

Albert P.


Des caracs particulières à tes fenêtres ?
Code d'init lourd, multitude de champs, plusieurs tables avec des
requêtes lourdes ?

++





Salut,

Pas particulièrement, cela se produit même pour des fenêtres "info" c'est
à dire : 1 champ libellé + 1 bouton fermer. Lors de la fermeture de cette
fenêtre "info", le raffraichissement de la fenêtre appellante se fait par
morceaux ...

Les machines sur lesquelles le phénomène se produit ne sont bien sur pas
très puissante (carte graphique de base, mémoire minimale) ... mais c'est
quand même troublant car cela ne se produit qu'avec des Executables
générés avec windev.

Albert P.





Cela vient souvent des fonds ou gabarits.
--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)





Merci pour cette piste, je viens de faire l'essai avec une fenêtre nue (sans
fond) et cela améliore un peu. Je vais tester avec différent type d'images
(bmp, png, jpg ...)

Albert P.
Avatar
BrnWrk
Le 22/04/2009, Albert P. a supposé :
"Daniel" a écrit dans le message de news:
49eed2d7$0$6853$
Albert P. a écrit :
"BrnWrk" a écrit dans le message de news:

Albert P. avait écrit le 22/04/2009 :
Bonjour à tous.

Pour résumer, une grosse procédure ou plusieurs petites, mis à part pour
de questions de maintenance, pas de différence ... ou alors tellement
minime que l'analyseur de performance ne permet pas de les détecter.

Une question néanmoins, avez vous trouver des solutions pour optimiser
les phases d'ouverture et de fermeture de fenêtres ... j'ai
régulièrement pour l'ouverture d'une fenêtre (ouvre normal) le
"traitement interne au moteur d'exécution" qui prends 284ms ... c'est
peu pourrait-on dire, mais le résultat à l'écran donne une impression de
lenteur (surtout avec les problèmes de raffraichissement écran que l'on
connait avec windev).

Des solutions ... pour avoir des ouvertures / fermetures de fenêtres
plus réactives ?

Albert P.


Des caracs particulières à tes fenêtres ?
Code d'init lourd, multitude de champs, plusieurs tables avec des
requêtes lourdes ?

++





Salut,

Pas particulièrement, cela se produit même pour des fenêtres "info" c'est
à dire : 1 champ libellé + 1 bouton fermer. Lors de la fermeture de cette
fenêtre "info", le raffraichissement de la fenêtre appellante se fait par
morceaux ...

Les machines sur lesquelles le phénomène se produit ne sont bien sur pas
très puissante (carte graphique de base, mémoire minimale) ... mais c'est
quand même troublant car cela ne se produit qu'avec des Executables
générés avec windev.

Albert P.





Cela vient souvent des fonds ou gabarits.
-- suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)





Merci pour cette piste, je viens de faire l'essai avec une fenêtre nue (sans
fond) et cela améliore un peu. Je vais tester avec différent type d'images
(bmp, png, jpg ...)

Albert P.



Exact, parfois le fait de laisser dans "Image" de la fenêtre
"transparence" activée peut aussi créer quelques problèmes.
Avatar
Michel
Salut,

J'ai déjà remarqué que rendre la fenêtre invisible au début des
déclarations puis la rendre visible quand tout est pret, permet
d'accéler l'affichage.
C'était le cas en 5.5 puis en 7.5, je ne sais pas si ça l'est encore
en 14

Michel



On 22 avr, 09:00, "Albert P." wrote:
Bonjour à tous.

Pour résumer, une grosse procédure ou plusieurs petites, mis à part pour de
questions de maintenance, pas de différence ... ou alors tellement mini me
que l'analyseur de performance ne permet pas de les détecter.

Une question néanmoins, avez vous trouver des solutions pour optimiser les
phases d'ouverture et de fermeture de fenêtres ... j'ai régulièreme nt pour
l'ouverture d'une fenêtre (ouvre normal) le "traitement interne au mote ur
d'exécution" qui prends 284ms ... c'est peu pourrait-on dire, mais le
résultat à l'écran donne une impression de lenteur (surtout avec le s
problèmes de raffraichissement écran que l'on connait avec windev).

Des solutions ... pour avoir des ouvertures / fermetures de fenêtres pl us
réactives ?

Albert P.


1 2