Publié : mar. 22/févr./2005 20:14
je ne suis pas sûr mais je crois qu'il y a des fuites mémoire...
j'ai un petit soft qui montre ma ram dispo et en faisant tourner
les sources ci dessus je me suis apercu que ma ram descendait
a raison d' 1 Mo par 10 secondes...
voilà de quoi tester aussitot - est ce normal ?
j'ai un petit soft qui montre ma ram dispo et en faisant tourner
les sources ci dessus je me suis apercu que ma ram descendait
a raison d' 1 Mo par 10 secondes...
voilà de quoi tester aussitot - est ce normal ?
Code : Tout sélectionner
ImageNormale = CreateImage(#PB_Any, 80, 100)
StartDrawing(ImageOutput())
Box(0, 0, 80, 100, $6F6F6F)
Box(5, 5, 35, 45, $FF)
Box(40, 5, 35, 45, $FF00)
Box(5, 50, 35, 45, $FF0000)
Box(40, 50, 35, 45, $FFFFFF)
StopDrawing()
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 350, 400, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Effect - Rotation d'image") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
Angle = 30
Mode = 0
CouleurFondFenetre = GetSysColor_(#COLOR_3DFACE) - $101010 ; Couleur de fond des fenêtres de Windows mais légèrement foncé (le - $101010)
ImageRotation = RotateImageEx3(UseImage(ImageNormale), Angle, CouleurFondFenetre, Mode)
TextGadget(#PB_Any, 10, 10, 100, 15, "Image normale")
ImageGadget(#PB_Any, 10, 25, 0, 0, UseImage(ImageNormale))
RotationTexte = TextGadget(#PB_Any, 10, 150, 220, 18, "Rotation de 30°",#pb_text_border)
Rotation = ImageGadget(#PB_Any, 10, 215, 0, 0, UseImage(ImageRotation))
TextGadget(#PB_Any, 180, 200, 100, 15, "Mode :")
OptionGadget(0, 180, 215, 170, 15, "normal")
OptionGadget(1, 180, 230, 170, 15, "sans redimensionnement")
OptionGadget(2, 180, 245, 170, 15, "avec redimensionnement fixe")
SetGadgetState(0, 1)
SetTimer_(WindowID(), 0, 25, 0)
Global RamInfo.MEMORYSTATUS
Repeat
Event = WaitWindowEvent()
If Event = #WM_TIMER
Angle + 1
If Angle = 360
Angle = 0
EndIf
FreeImage(ImageRotation)
ImageRotation = RotateImageEx3(UseImage(ImageNormale), Angle, CouleurFondFenetre, Mode)
SetGadgetState(Rotation, UseImage(ImageRotation))
GlobalMemoryStatus_(@RamInfo)
SetGadgetText(RotationTexte, "Rotation de " + StrF(Angle, 1) + "° - "+Str(RamInfo\dwAvailPhys)+" octets.")
ElseIf Event = #PB_EventGadget
Select EventGadgetID()
Case 0
Mode = 0
Case 1
Mode = 1
Case 2
Mode = 2
EndSelect
EndIf
Until Event = #PB_EventCloseWindow
KillTimer_(WindowID(), 0)
End