Bonjour à tous et toutes,
Je m'adresse à travers ce post aux cracks de l'optimisation sous Delphi...Voilà le pb :
Je dois afficher des images au format JPEG dans une grille de 64 colonnes sur 32 lignes... Jusque là pas de pb, la chose fonctionne avec la méthode que j'utilise, mais au niveau logique et optimisation; je me dis que c'est peut être une méthode de bricolo. Voici donc un extrait du code que j'utilise pour afficher ces 2048 images dans la grille :
On s'aperçoit dans cet extrait de code, que les instructions : Img := TJpegImage.Create; et Img.Free; sont exécutées 2048 fois !...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ... for R := 0 to 31 do begin for C := 0 to 63 do begin Img := TJpegImage.Create; data := Buffer[Ofs]; Img := Get_Jpg(Rx[data]); FrmBD.GrdMain.Canvas.StretchDraw(FrmBD.GrdMain.CellRect(Cl R), Img); inc(Ofs); Img.Free; end; end; ...
Question : Est-ce dans ce cas précis nécessaire ? et n'est il pas suffisant de créer l'objet Img 1 seule fois - avant la boucle for R..., puis de le libérer l'objet à la fin ???
Dans le second cas, est-ce que je ne vais pas aboutir à la création en mémoire de 2048 objets Imgce qui ne serait quand même pas le top du top...
Quelques bonnes suggestions de votre part seraient les bienvenues.
Merci et bonne continuation.
Partager