Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 13:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Sleep() - Test

Discussion on Sleep() - Test within the AutoIt forum part of the Coders Den category.

Reply
 
Old 02/12/2013, 19:27   #16
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Quote:
Deine Func interessiert mich.
Auch hier sollte wieder der Scheduler im Weg stehen.
Schlüsselbein is offline  
Old 08/17/2013, 23:27   #17
 
SpieleHacksInfo's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 448
Received Thanks: 278
Hm ich finde das ganze jetzt nicht so extrem. Man sieht, dass Richtung Ende sich einschaukelt und genauer wird. Ich finde das um ehrlich zu sein jetzt nicht so extrem wie du beschrieben hast, aber für Perfektionisten ist sicherlich gut.
Ergebnisse des epvpSleepTests
Edit:// Sry für den Push. Zu müde/dumm um auf das Datum zu schauen.
SpieleHacksInfo is offline  
Old 08/17/2013, 23:42   #18
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
das hier ist das präziseste was man mit autoit (ohne dlls) machen kann.
Code:
Func SleepA($MS)
	$TI=TimerInit()
	While TimerDiff($TI)<$MS
	WEnd
EndFunc
FacePalmMan is offline  
Old 08/18/2013, 14:56   #19
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
@FacePalmMan, das ist schon richtig aber trotzdem falsch.

Eine Sleep-Funktion dient dazu die CPU zu schonen + das Script zu pausieren.
Nimm bei deinem Script mal SleepA(10000) und schau im TaskMgr nach, deine CPU wird ausgelastet was bei einer Sleep(10000) nicht passiert.

Desweiteren möchte ich mal anmerken wer bitteschön einen Sleep von ein paar Mikrosekunden braucht? Wenn man Sleep einsetzen muss dann ist in vielen Fällen das Script falsch gecoded, also finde ich das hier eigentlich unnötig.
alpines is offline  
Old 08/18/2013, 19:32   #20
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
Quote:
Originally Posted by alpines View Post
@FacePalmMan, das ist schon richtig aber trotzdem falsch.

Eine Sleep-Funktion dient dazu die CPU zu schonen + das Script zu pausieren.
Nimm bei deinem Script mal SleepA(10000) und schau im TaskMgr nach, deine CPU wird ausgelastet was bei einer Sleep(10000) nicht passiert.

Desweiteren möchte ich mal anmerken wer bitteschön einen Sleep von ein paar Mikrosekunden braucht? Wenn man Sleep einsetzen muss dann ist in vielen Fällen das Script falsch gecoded, also finde ich das hier eigentlich unnötig.
wenn man diese methode nur für sehr kleine delays benutzt (z.b bei programmen die vom timing her sehr präzise arbeiten müssen), wofür es auch gedacht ist , lastet es den pc nicht so sehr aus.
einige tests haben gezeigt, dass diese SleepA funktion die ich oben gepostet habe nur um schlappe 7000 nanosekunden (=7 mikrosekunden=0.007 millisekunden=) zu langsam geht.
wenn ihr den test selber ausprobieren wollt:
Code:
$C=1
For $i=1 To 1000
	$SA=SleepA(1)
	$C+=$SA
	ToolTip($i)
Next
MsgBox(0,"","Durchschnittlich verbrauchte zeit:"&($C-1)/1000&@CRLF&"Abweichung:"&(($C-1)/1000-1)*1000*1000&" Nanosekunden")

Func SleepA($MS)
	$TI=TimerInit()
	While TimerDiff($TI)<$MS
	WEnd
	Return TimerDiff($TI)
EndFunc
FacePalmMan is offline  
Old 08/18/2013, 20:21   #21
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Mir fallen keine Beispiele ein wo man auf nanosekundengenau warten muss. Dir etwa?
alpines is offline  
Old 08/19/2013, 12:25   #22
 
aj1987's Avatar
 
elite*gold: 1003
Join Date: Feb 2010
Posts: 791
Received Thanks: 709
Ich hab da auch was...
Code:
#include <array.au3>
; #FUNCTION# ====================================================================================================================
; Name ..........: _sleep
; Description ...: 
; Syntax ........: _sleep([$iTime = 0])
; Parameters ....: $iTime               - [optional] An integer value. Default is 0.
; Return values .: None
; Author ........: aj1987
; Modified ......: 
; Remarks .......: 
; Related .......: 
; Link ..........: 
; Example .......: No
; ===============================================================================================================================
Func _sleep($iTime = 0)
	Local $timer = TimerInit()
	Local $taken
	While $taken < $iTime
		$taken = TimerDiff($timer)
	WEnd
	Return $taken
EndFunc   ;==>_sleep

Local $TimeTable[1]
For $i=1 To 100 Step 1
	_ArrayAdd($TimeTable,_sleep($i))
Next
_ArrayDisplay($TimeTable,"TimeTable")
Kannst ja mal testen und bescheid sagen...
Bei mir is das ziemlich genau...
aj1987 is offline  
Old 08/19/2013, 12:37   #23
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das gleiche wurde schon getestet, erwähnt und ist suboptimal, denn:

- die CPU / der Prozess wird nicht pausiert
- die CPU muss die While / WEnd Schleife durchrechnen.
alpines is offline  
Old 08/19/2013, 12:41   #24
 
aj1987's Avatar
 
elite*gold: 1003
Join Date: Feb 2010
Posts: 791
Received Thanks: 709
Geht es hier nun um die Genauigkeit der Sleepfunktion oder um die Prozessorlast?

Denn die Genauigkeit ist hier doch gegeben... oder sehe ich das falsch?
aj1987 is offline  
Thanks
1 User
Old 08/19/2013, 12:52   #25
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Wenn man es streng nimmt dann ist das keine Sleep-Funktion sondern einfach nur WasteTime o. ä..

Wenn dir Beispiele einfallen wo man so genau wie möglich sleepen muss dann nenn mir bitte paar damit mir ein Licht aufgeht.

Meiner Meinung nach braucht man sowieso nie die Sleep-Funktion, weil wenn man sie verwenden muss dann in vielen Fällen einfach falsch gecodet wurde.
alpines is offline  
Old 08/19/2013, 13:02   #26
 
aj1987's Avatar
 
elite*gold: 1003
Join Date: Feb 2010
Posts: 791
Received Thanks: 709
Ich hab keine Ahnung wo man das so genau bruachen sollte, war bei mir auch noch nie der Fall.
Aber das steht auch nicht zur Debatte, es wird eine genaue möglichkeit gesucht etwas zu unterbrechen und ein Sleep ist zwar ein Stillstand eines Prozesses aber ein WoT ist doch genau so gut...
Ich hab selber auch nur selten Sleeps in Verwendung weil ich auf den ohnehin schon geringen Speed von Autoit angewiesen bin...
Aber wie siehts eigentlich aus wenn man den DLLCall direkt ausführt und nicht die Sleep-Funktion aufruft, bringt das was?
aj1987 is offline  
Old 08/23/2013, 18:02   #27
 
CantShutMyMouth's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 379
Received Thanks: 163
Ergebnisse des epvpHighPrecisionSleepTests
CantShutMyMouth is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
KingClem Amazing D3D! [Fast All | Spread | 2h Test Time! fking big!] [3h Test Chams]
01/28/2015 - WarRock Hacks, Bots, Cheats & Exploits - 71 Replies
OUTDATED Screenshot: http://h4.abload.de/img/kingclembigd3downagetihrg k.png Screenshot II: http://kingclem.co.de/images/homo.png Viruscan: VirusTotal - Free Online Virus, Malware and URL Scanner



All times are GMT +2. The time now is 13:28.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.