OVH Cloud OVH Cloud

rep à Zoury Yanick

2 réponses
Avatar
PRADON
Bonjour !
merci de l' int=E9r=EAt que tu porte =E0 mes probl=E8mes.
J' avais =E9cris

Je manipule des fichier image relativement volumineux.
Apr=E8s migration VB6 vers VB net ,alors qu'il me fallait 25=20
secondes pour charger une bitmap de 247 ko et entre 2 et=20
15 secondes pour la d=E9placer ou la redimensionner , il me=20
faut maintenant 80 secondes sous VB net , pour la charger,=20
la d=E9placer ou la redimensionner ; c'est inacceptable!
Les fonctions utilis=E9es sont : paintPicture sous VB6 ;=20
drawimage sous Vb net.

J 'ai peine =E0 croire VB net moins performant , je pense ne=20
pas utiliser correctement system.drawing.image .
Merci pour l'aide.
Tu m'avais r=E9pondu :

>Ouch! > >247ko c'est loin d'=EAtre volumineux pour une=20
image.. surtout si c'est un >bitmap. > >Je ne sais pas=20
quelle est le traitement que tu effectuais en VB6, mais 25=20
>secondes me semble une =E9ternit=E9... et sache que=20
PaintPicture() est tr=E8s tr=E8s >lent. > >peux-tu nous=20
montrer tes deux bouts de code (VB 6 et .NET) ?

.......
Effectivement ,les 247 Ko sont ceux du fichier comprim=E9
(format tif),en bmp il fait 60 MO.
Je te joins quelques extraits de code

Code ultra simplifi=E9 en VB 6:

Private Sub Command1_Click()
t1 =3D Timer
Image1.Picture =3D LoadPicture("c:\temp\zd.bmp")
t2 =3D Timer
MsgBox "temp de chargement=3D" & Str$(t2 - t1)
End Sub

Le m=EAme code en VB Net

Private Sub Command1_Click(ByVal eventSender As=20
System.Object, ByVal eventArgs As System.EventArgs)=20
Handles Command1.Click
=09
Dim t2 As Object
Dim t1 As Object
t1 =3D VB.Timer()
Image1.Image =3D System.Drawing.Image.FromFile
("c:\temp\zd.bmp")
t2 =3D VB.Timer()

MsgBox("temp de chargement=3D" & Str(t2 - t1))

End Sub


Le temps de chargement en VB net indiqu=E9 par msgbox est le=20
double qu'en VB 6 soit 4 secondes ;il est en r=E9alit=E9 de=20
plus de 60 secondes.
J'ajoute qu'apr=E8s ces op=E9ration ma machine =AB rame =BB ; =20
j'ai eu le message =AB manque de m=E9moire virtuelle =BB.J'ai un=20
1125 mhz et 256 de m=E9moire !

Qu 'en pense tu ?

2 réponses

Avatar
Zoury
Hello!

Effectivement ,les 247 Ko sont ceux du fichier comprimé
(format tif),en bmp il fait 60 MO.



<gulp>


J'ajoute qu'après ces opération ma machine « rame » ;
j'ai eu le message « manque de mémoire virtuelle ».J'ai un
1125 mhz et 256 de mémoire !



aaaaaaaaaaaahhhhh!!
tu peux nous en dire plus sur les caractéristiques (taille en pixels, nb de
bits, en couleur ou pas, etc.) de ce bitmap ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Pradon
>> J'ajoute qu'après ces opération ma machine « rame » ;
j'ai eu le message « manque de mémoire virtuelle ».J'ai




un
1125 mhz et 256 de mémoire !



aaaaaaaaaaaahhhhh!!
tu peux nous en dire plus sur les caractéristiques


(taille en pixels, nb de
bits, en couleur ou pas, etc.) de ce bitmap ?

--
Cordialement
Yanick
MVP pour Visual Basic

Il s'agit d'une simple bitmap « au trait »(plan noir et


blanc format grand aigle scanné à 300 dpi) que je charge
en 6 secondes avec paint , et en 25 secondes avec vb6 .

Pour l'enquête, j'ajoute que mon application provoque les
mêmes problèmes sur les ordinateurs cibles.

.