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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Ouch!
247ko c'est loin d'être volumineux pour une image.. surtout si c'est un bitmap.
Je ne sais pas quelle est le traitement que tu effectuais en VB6, mais 25 secondes me semble une éternité... et sache que PaintPicture() est très très lent.
peux-tu nous montrer tes deux bouts de code (VB 6 et .NET) ?
-- Cordialement Yanick MVP pour Visual Basic
Ouch!
247ko c'est loin d'être volumineux pour une image.. surtout si c'est un
bitmap.
Je ne sais pas quelle est le traitement que tu effectuais en VB6, mais 25
secondes me semble une éternité... et sache que PaintPicture() est très très
lent.
peux-tu nous montrer tes deux bouts de code (VB 6 et .NET) ?
247ko c'est loin d'être volumineux pour une image.. surtout si c'est un bitmap.
Je ne sais pas quelle est le traitement que tu effectuais en VB6, mais 25 secondes me semble une éternité... et sache que PaintPicture() est très très lent.
peux-tu nous montrer tes deux bouts de code (VB 6 et .NET) ?
-- Cordialement Yanick MVP pour Visual Basic
>-----Message d'origine----- Ouch!
247ko c'est loin d'être volumineux pour une image..
surtout si c'est un
bitmap.
Je ne sais pas quelle est le traitement que tu effectuais
Private Sub ecran_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height, Me.CreateGraphics) g1 = Graphics.FromImage(b1) fontecran = New Font(Me.Font, FontStyle.Regular) done = True End If End Sub '-------------------------------------------------- Private Sub ecran_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint e.Graphics.DrawImage(b1, 0, 0)
End Sub '----------------------------------------------------- Form1.DefInstance.Picture1.Image = System.Drawing.Image.FromFile(filename) ' Dim fondDePlan As Image fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de temps !
Private Sub ecran_Activated(ByVal sender As Object, ByVal
e As System.EventArgs) Handles MyBase.Activated
Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height,
Me.CreateGraphics)
g1 = Graphics.FromImage(b1)
fontecran = New Font(Me.Font,
FontStyle.Regular)
done = True
End If
End Sub
'--------------------------------------------------
Private Sub ecran_Paint(ByVal sender As Object, ByVal
e As System.Windows.Forms.PaintEventArgs) Handles
MyBase.Paint
e.Graphics.DrawImage(b1, 0, 0)
End Sub
'-----------------------------------------------------
Form1.DefInstance.Picture1.Image =
System.Drawing.Image.FromFile(filename)
' Dim fondDePlan As Image
fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de
temps !
Private Sub ecran_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height, Me.CreateGraphics) g1 = Graphics.FromImage(b1) fontecran = New Font(Me.Font, FontStyle.Regular) done = True End If End Sub '-------------------------------------------------- Private Sub ecran_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint e.Graphics.DrawImage(b1, 0, 0)
End Sub '----------------------------------------------------- Form1.DefInstance.Picture1.Image = System.Drawing.Image.FromFile(filename) ' Dim fondDePlan As Image fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de temps !
Public Sub miseAJourEcran() Me.CreateGraphics.DrawImage(b1, 0, 0) End Sub
-- Cordialement Yanick MVP pour Visual Basic
.
COPS
Si tu veux traiter tes images le plus rapidement possible, il faut utiliser les Pointeurs via C# (cela permet d'aller jusqu'a 20x + vite qu'avec du "bon" code VB.NET.
A+
"" wrote:
>-----Message d'origine----- >Ouch! > >247ko c'est loin d'être volumineux pour une image.. surtout si c'est un >bitmap. > >Je ne sais pas quelle est le traitement que tu effectuais en VB6, mais 25 >secondes me semble une éternité... et sache que PaintPicture() est très très >lent. > >peux-tu nous montrer tes deux bouts de code (VB 6
Private Sub ecran_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height, Me.CreateGraphics) g1 = Graphics.FromImage(b1) fontecran = New Font(Me.Font, FontStyle.Regular) done = True End If End Sub '-------------------------------------------------- Private Sub ecran_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint e.Graphics.DrawImage(b1, 0, 0)
End Sub '----------------------------------------------------- Form1.DefInstance.Picture1.Image = System.Drawing.Image.FromFile(filename) ' Dim fondDePlan As Image fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de temps !
Si tu veux traiter tes images le plus rapidement possible, il faut utiliser
les Pointeurs via C# (cela permet d'aller jusqu'a 20x + vite qu'avec du "bon"
code VB.NET.
A+
"anonymous@discussions.microsoft.com" wrote:
>-----Message d'origine-----
>Ouch!
>
>247ko c'est loin d'être volumineux pour une image..
surtout si c'est un
>bitmap.
>
>Je ne sais pas quelle est le traitement que tu effectuais
en VB6, mais 25
>secondes me semble une éternité... et sache que
PaintPicture() est très très
>lent.
>
>peux-tu nous montrer tes deux bouts de code (VB 6
Private Sub ecran_Activated(ByVal sender As Object, ByVal
e As System.EventArgs) Handles MyBase.Activated
Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height,
Me.CreateGraphics)
g1 = Graphics.FromImage(b1)
fontecran = New Font(Me.Font,
FontStyle.Regular)
done = True
End If
End Sub
'--------------------------------------------------
Private Sub ecran_Paint(ByVal sender As Object, ByVal
e As System.Windows.Forms.PaintEventArgs) Handles
MyBase.Paint
e.Graphics.DrawImage(b1, 0, 0)
End Sub
'-----------------------------------------------------
Form1.DefInstance.Picture1.Image =
System.Drawing.Image.FromFile(filename)
' Dim fondDePlan As Image
fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de
temps !
Si tu veux traiter tes images le plus rapidement possible, il faut utiliser les Pointeurs via C# (cela permet d'aller jusqu'a 20x + vite qu'avec du "bon" code VB.NET.
A+
"" wrote:
>-----Message d'origine----- >Ouch! > >247ko c'est loin d'être volumineux pour une image.. surtout si c'est un >bitmap. > >Je ne sais pas quelle est le traitement que tu effectuais en VB6, mais 25 >secondes me semble une éternité... et sache que PaintPicture() est très très >lent. > >peux-tu nous montrer tes deux bouts de code (VB 6
Private Sub ecran_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated Static done As Boolean = False
If Not done Then
b1 = New Bitmap(Width, Height, Me.CreateGraphics) g1 = Graphics.FromImage(b1) fontecran = New Font(Me.Font, FontStyle.Regular) done = True End If End Sub '-------------------------------------------------- Private Sub ecran_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint e.Graphics.DrawImage(b1, 0, 0)
End Sub '----------------------------------------------------- Form1.DefInstance.Picture1.Image = System.Drawing.Image.FromFile(filename) ' Dim fondDePlan As Image fondDePlan = Form1.DefInstance.Picture1.Image
c'est la réalisation de cette ligne qui prend tant de temps !
>-----Message d'origine----- Si tu veux traiter tes images le plus rapidement
possible, il faut utiliser
les Pointeurs via C# (cela permet d'aller jusqu'a 20x +
vite qu'avec du "bon"
code VB.NET.
Merci ;mais je recherche plus la simplicité que la performance, et le C me fait peur. Tout de même! VB net ne pas être moins performant que Vb6 pour une chose aussi simple que le chargement et la manipulation d'images.j'espère encore une solution vbnet.
Merci quand même !peut être devrais-je suivre tes conseils?
>-----Message d'origine-----
Si tu veux traiter tes images le plus rapidement
possible, il faut utiliser
les Pointeurs via C# (cela permet d'aller jusqu'a 20x +
vite qu'avec du "bon"
code VB.NET.
Merci ;mais je recherche plus la simplicité que la
performance, et le C me fait peur. Tout de même! VB net
ne pas être moins performant que Vb6 pour une chose aussi
simple que le chargement et la manipulation
d'images.j'espère encore une solution vbnet.
Merci quand même !peut être devrais-je suivre tes conseils?
>-----Message d'origine----- Si tu veux traiter tes images le plus rapidement
possible, il faut utiliser
les Pointeurs via C# (cela permet d'aller jusqu'a 20x +
vite qu'avec du "bon"
code VB.NET.
Merci ;mais je recherche plus la simplicité que la performance, et le C me fait peur. Tout de même! VB net ne pas être moins performant que Vb6 pour une chose aussi simple que le chargement et la manipulation d'images.j'espère encore une solution vbnet.
Merci quand même !peut être devrais-je suivre tes conseils?