Optimiseur de RAM
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
-
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse
Re: Optimiseur de RAM
bonsoir,
Je ne peux pas en profiter car il y un problème avec la 4.10 et cette ligne...
Ce site propose plusieurs logiciels, lequel dois je prendre ? est ce que Xteq RAM Alloc 1.0 rempli la même fonction ?
http://www.xteq.com/downloads/
A+
Code : Tout sélectionner
If OpenWindow(0, 0, 0, #TailleX, #TailleY, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Optimiser la RAM") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
Ce site propose plusieurs logiciels, lequel dois je prendre ? est ce que Xteq RAM Alloc 1.0 rempli la même fonction ?
http://www.xteq.com/downloads/
A+
@ beauregard

Code : Tout sélectionner
Enumeration
#Memoire
#Libre
#Occupee
#Optimiser
#Etat
EndEnumeration
#TailleX = 200
#TailleY = 92
Procedure Optimisation(Total.l)
#TailleMem = 16 * 1024 * 1024 ; 16 Mb
NewList Memoire.l()
; On crée un échantillon destinée à remplir la mémoire
MemOrigine = AllocateMemory(#TailleMem)
For n = 0 To Total / 16 ; On rempli la mémoire avec des connerires
AddElement(Memoire())
Memoire() = AllocateMemory(#TailleMem)
CopyMemory(MemOrigine, Memoire(), #TailleMem) ; On utilise la mémoire sinon, ça ne marche pas
Next
; On supprime les blocs mémoire
ResetList(Memoire())
While NextElement(Memoire())
FreeMemory(Memoire())
Wend
FreeMemory(MemOrigine)
ClearList(Memoire())
SetGadgetText(#Etat, "")
DisableGadget(#Optimiser, 0)
EndProcedure
If OpenWindow(0, 0, 0, #TailleX, #TailleY, "Optimiser la RAM", #PB_Window_ScreenCentered | #PB_Window_SystemMenu) = 0 Or CreateGadgetList(WindowID(0)) = 0
End
EndIf
; Structure MEMORYSTATUS
; dwLength.l ; SizeOf(MEMORYSTATUS)
; dwMemoryLoad.l ; Pourcentage de mémoire utilisée
; dwTotalPhys.l ; Taille de la mémoire en octects
; dwAvailPhys.l ; Quantité de mémoire libre en octects
; dwTotalPageFile.l
; dwAvailPageFile.l
; dwTotalVirtual.l
; dwAvailVirtual.l
; EndStructure
MemoireInfo.MEMORYSTATUS
MemoireInfo\dwLength = SizeOf(MEMORYSTATUS)
TextGadget(#PB_Any, 3, 3, 100, 15, "Mémoire libre : ")
TextGadget(#PB_Any, 3, 18, 100, 15, "Mémoire occupée : ")
TextGadget(#Libre, 103, 3, #TailleX - 6, 15, "")
TextGadget(#Occupee, 103, 18, #TailleX - 6, 15, "")
ProgressBarGadget(#Memoire, 1, 33, #TailleX - 2, 20, 0, 100, #PB_ProgressBar_Smooth)
ButtonGadget(#Optimiser, 1, 54, #TailleX - 2, 22, "Optimiser la RAM")
TextGadget(#Etat, 3, #TailleY - 15, #TailleX - 6, 15, "")
Timer = SetTimer_(WindowID(0), 0, 250, 0)
Quitter = 0
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget() ; boutons, zone de texte, ...
Case #Optimiser
If Total > 0
SetGadgetText(#Etat, "Opération en cours")
DisableGadget(#Optimiser, 1)
CreateThread(@Optimisation(), Total)
EndIf
EndSelect
ElseIf Event = #WM_TIMER ; On rafraichie l'affichage
GlobalMemoryStatus_(@MemoireInfo) ; On récupère les information sur la RAM
Pourcentage = MemoireInfo\dwMemoryLoad ; Pourcentage de RAM utilisée
Libre = MemoireInfo\dwAvailPhys / 1024 / 1024 ; Espace libre en Mo
Total = MemoireInfo\dwTotalPhys / 1024 / 1024
Occupee = Total - Libre ; Espace occupée en Mo
; On affiche les valeurs
SetGadgetState(#Memoire, Pourcentage)
SetGadgetText(#Libre, Str(Libre) + " Mb")
SetGadgetText(#Occupee, Str(Occupee) + " Mb (" + Str(Pourcentage) + "%)")
ElseIf Event = #PB_Event_CloseWindow
If GetGadgetText(#Etat) = ""
Quitter = 1
EndIf
EndIf
Until Quitter
KillTimer_(WindowID(0), Timer)
End

-
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse