Optimiseur de RAM

Partagez votre expérience de PureBasic avec les autres utilisateurs.
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

A propos de la réponse d'Oliv, concernant le fait de ne pas garder les dlls en mémoire, j'utilise un logiciel freeware qui permet de changer plein de paramètres windows, dont celui-ci : X-Setup (www.xteq.com)
Très pratique.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

oui je l'utilise aussi. elle est tres complete la bete
Image
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Bonjoour,

J'ai testé ce défragmenteur sur un autre PC sous 98, et ça marche.
Voilà pour info.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

merci :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Re: Optimiseur de RAM

Message par beauregard »

bonsoir,

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
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+
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Les paramètres titre et options on été échangés car les options sont maintenant facultatives
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

@ 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
:wink:
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

SpaceMan a écrit :@ beauregard
je te remercie :)
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

:D
Répondre