Jump to content

İşlemin Hafıza Kullanımını Düşürmek


blackman12
 Share

Recommended Posts

; Reduce memory usage
; Author wOuter ( mostly )

$a = _ReduceMemory(ProcessExists("firefox.exe"))
MsgBox(0,"ad",$a)

Func _ReduceMemory($i_PID = -1)

    If $i_PID <> -1 Then
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf

    Return $ai_Return[0]
EndFunc;==> _ReduceMemory()[/CODE]

Link to comment
Share on other sites

  • 3 hafta sonra ...

Tabiki döngülerde yeteri kadar bekleme yapmak işlemci kullanımını düşürür. Ayrıca işlemiciye yüklenme konusunda ProcessSetPriority komutuda azda olsa işe yararayacaktır.

Ram konusuna gelirsek;

Yaptığınız autoit çalışmasının ram kullanmasını azaltmak için aşağıdaki satırı eklemeniz kafi.

Bu arada bu işlemi defalarca bir döngüde yapmanın bir anlamı yok. Faydadan çok zararı olabilir.

Bu yüzden döngüye girmeden hemen önce koymanızı tavsiye ederim...

DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)

Ben misal bir gui tasarladıktan sonra while döngüsüne girmeden hemen önce bu satırı eklerim. Bu sayede ram kullanımını biraz düşürmüş olurum.

Tabi ben mümkün olduğunca library kullanmamaya özen gösteriyorum. Yani şimdi bir library (#include <vs.au3>) içinde işinize yarayan fonksiyonlar olabileceği gibi hiç kullanmayacağınız fonksiyonlarıda barındırır. Bunlarada dikkat etmeniz lazım. Gerekli fonkisyonu biraz bilginiz varsa ilgili au3 içerisinden alabilirsiniz.

Böyle yaparsanız oluşacak exe dosyasının boyutundan, ram kullanımından, az da olsa işlemci kullanımından yöne getirileriniz olacaktır...

Link to comment
Share on other sites

; Reduce memory usage
; Author wOuter ( mostly )

$a = _ReduceMemory(ProcessExists("firefox.exe"))
MsgBox(0,"ad",$a)

Func _ReduceMemory($i_PID = -1)

If $i_PID <> -1 Then
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
Else
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
EndIf

Return $ai_Return[0]
EndFunc;==> _ReduceMemory()[/CODE]

napıcaz bunu nasıl çalıştırıcaz ayrıca ne işe yarıyo

Link to comment
Share on other sites

  • 1 ay sonra...

evet bende bu Library'yi kullanmadan fonksiyonları kullanmayı arıyordum

include etmeden komutlarını nasıl kullanırız ki yapamadım

söyleyebilen olursa sevinirim,

Teşekkürler

Link to comment
Share on other sites

  • 2 years yıl...

arkadaşlar aşağıdaki kodları kullanarak birşeyler yaptım ve bilgisayar yanıyor mübarek bunun için neler yapabiliriz :D

MsgBox ( 0, "Bilgi ..", "Programı Başlatıp ve Durdurmak için 'F' Tuşunu Kullanınız ..")
$rslot=inputbox(" Tekrarlanacak Tuşlar .. "," Seri ve Tekrarlanmasını istediğiniz tuşları Box'a  Yazınız ..                                                                                                                                                                                                                                                                                                      ! Cypher Endless Sharl0ckHolmes !")


#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Global $Paused = True
While 1
If _IsPressed("46", $hDLL) Then ;f harfi
    While _IsPressed("46", $hDLL)
    WEnd
    $Paused = Not $Paused
EndIf


If $Paused = True Then
    ContinueLoop
EndIf


    Opt("SendKeyDelay", 20)


send($rslot)


sleep
WEnd
DllClose($hDLL)

 

Link to comment
Share on other sites

  • 2 ay sonra...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...