Problèmes sur 7000 block à generer
Bonsoir tout le monde,
J'ai un problème lorsque je génère 7000 bloc de picturebox sur ma form...
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
Dim n As Integer 'recupere le nombre de "picrocher" en cour.
Dim L As Integer 'variable left du carré
Dim T As Integer 'variable top du carré
Private Sub form_load()
L = 120 'position d'origine du carré en left
T = 120 'idem en top
n = 0
End Sub
Function rock() 'fonction qui genere les pierres
n = n + 1 'compteur permettant de recuperer la variable en cour.
Load picrocher(n)
With picrocher(n)
.Visible = True 'visible dés le depart
.Height = 135 'taille du carré
.Width = 135 'taille du carré
.Left = L 'placement abscisse
.Top = T 'placement en ordonée
.FillStyle = 0 'estetique
'.FillColor = &HFE7941 'estetique
'.BackColor = &HFE7941 'estetique
.BorderStyle = 1 'estetique
End With
If picrocher(n).Left >= 14160 Then 'Si on depasse à droite alors on remet à zero et on descend d'un cran
L = 120
T = T + 135
Else
L = L + 135
End If
End Function
Private Sub Timer1_Timer()
DoEvents
Text1.Text = n 'on recupere le total des cube générés
If Not T >= 9240 Then
rock
Else
Timer1.Enabled = False
End If
End Sub |
Le code fonctionne bien, et je suis obliger d'utiliser des picturebox pour pouvoir les sélectionner par la suite car avec des shapes ça ne marche pas (même si les 7000 block sont générés en quelques secondes).
Au bout de 1000 block générés, le processeur commencer à étouffer et au bout de 1800 block là ça devient catastrophique, un block toutes les secondes... et 2500 c'est l’hécatombe...
Je suis conscient de ce que je demande, surtout avec du VB...
Y aurait-il un moyen d’alléger le tout?
Merci,
Cordialement