blackman12 Posted June 25, 2010 Share Posted June 25, 2010 ; 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] Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 11, 2010 Share Posted July 11, 2010 Cpu kullanımını düşürmek için de While döngüsüne Sleep koyunuz.Koyduğunuz değer 100 ile 250 arasında olsun..İşlemci kullanımı %20 lerden %2 lere düşüyor.. Quote Link to comment Share on other sites More sharing options...
blue_life Posted July 12, 2010 Share Posted July 12, 2010 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... Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 12, 2010 Share Posted July 12, 2010 @blue_life blackman da dediğini paylaşmış zaten Quote Link to comment Share on other sites More sharing options...
blue_life Posted July 12, 2010 Share Posted July 12, 2010 @talha_252 Ben kullandığım yöntemi yazdım. Bu arada benim söylediklerimin hepsi yazılı deyil dikkat edersen Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 12, 2010 Share Posted July 12, 2010 Haklısın Bu arada o yöntem gerçekten işe yarıyor.Bende 15 mb ram den 4 mb rame düşürdü Quote Link to comment Share on other sites More sharing options...
blackman12 Posted July 12, 2010 Author Share Posted July 12, 2010 Talhacım bak, bizim mantık blue_life la aynı çalışıyor.Diyorum talhaya hep ne kadar library varsa include ediyosun biraz cimri ol diye sakalımız var sözümüz geçmiyo Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 12, 2010 Share Posted July 12, 2010 Ahaha Tamam ya library'leri azaltacam söz Ama bnm programın kullanımı zaten baya azaldı.sadece şu seçenekler kısmında %50 lere vurması hariç Onuda senle halletcez Quote Link to comment Share on other sites More sharing options...
bozkurt.hilal Posted July 12, 2010 Share Posted July 12, 2010 ; 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 Quote Link to comment Share on other sites More sharing options...
blackman12 Posted July 12, 2010 Author Share Posted July 12, 2010 Hepsine tek tek cevap vericektim ama "ne işe yarıyor" dedin beni benden aldın ha.Bu bir autoit kodu, yazdığın au3 dosyasında kullanıcaksın, yazdığın kodların işlemciye gereksiz yüklenmesini önler. Quote Link to comment Share on other sites More sharing options...
Dj Demir Posted August 20, 2010 Share Posted August 20, 2010 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 Quote Link to comment Share on other sites More sharing options...
Fox Posted March 19, 2013 Share Posted March 19, 2013 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) Quote Link to comment Share on other sites More sharing options...
reyiz Posted March 19, 2013 Share Posted March 19, 2013 (edited) While döngüsünün arasına Sleep(100) yada Sleep(1000) koyunuz. İşlemci çok fazla kullanıldığında ısınma yapıyor galiba. Edited March 27, 2013 by reyiz Quote Link to comment Share on other sites More sharing options...
kamuran731 Posted June 15, 2013 Share Posted June 15, 2013 @blackman12 Hocam misal program.exe adında bir çalışma yaptım diyelim ilk mesajda yazdığınız kodları çalışmamıza eklerken firefox.exe yerine program.exe mi yazacaz? Quote Link to comment Share on other sites More sharing options...
MostWanted Posted June 15, 2013 Share Posted June 15, 2013 _ReduceMemory(ProcessExists(@ScriptName)) Böyle kullanabilirsin. Quote Link to comment Share on other sites More sharing options...
kamuran731 Posted June 15, 2013 Share Posted June 15, 2013 kodlarda bulunan bu satırı sildim sorun olmaz herhalde ? MsgBox(0,"ad",$a) Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 15, 2013 Share Posted June 15, 2013 Hayır olmaz, o sadece prosesi mesajla göstermek içindi. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.