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 !