Envoyé par
tourlourou
Salut Jipété !
As-tu passé le bitmap dans un de tes décodeurs d'en-tête pour voir si spécificité ?
Pas de spécificités particulières c'est un BMP v1 au format 32bits BGRA
Envoyé par
tourlourou
Serait-il envisageable de threader le chargement pour gommer cette latence ?
Cela ne changera rien et il faudrait écrire sa propre méthode de chargement
Envoyé par
matrix1233
Bonjour,
moi je suis concentré sur la phase 2 vu que mon programme original a un Stream comme entrée et je dois le faire apparaitre dans une Timage et j'ai juste donné un exemple dans ce forum pour que tout le monde puisse tester. Donc en réalité charger un Stream dans une TImage ça me coute 700 ms et c'est cette partie que je voudrais optimiser .
Quel est le format de ton stream se sont des données brute ou il y a tout ton fichier avec en-tête et tout le bazar ?. Je ne comprend toujours pas ce que tu souhaites faire. Avec ton stream tu fais quoi avant ?
Pourquoi dans la "phase 2" tu passes par un TBitmap secondaire qui sert toujours à rien ?
1 2 3
|
FBitmap.LoadFromStream(M);
Image1.Picture.Assign(FBitmap); |
Au lieu de simplement faire
Image1.Picture.LoadFromStream(M);
Assign prend énormément de temps machine
Si ton Stream "M" est au format Windows BMP tu peux utiliser
Image1.Picture.LoadFromStreamWithFileExt(M, 'bmp');
Ce qui évitera de vérifier le format du stream et chargera ton image contenu dans le stream un peu plus rapidement.
Sans plus d'explication et de comment tu as codé ton appli. Dur de t'aider à optimiser ton code. Et comme je l'ai déja dit le TBitmap natif n'est pas un foudre de guerre et n'est pas comparable à celui de Delphi. Beaucoup de choses sont différentes dans la gestion des images entre l'un et l'autre.
Partager