Jump to content

SunDiegoGuy

Members
  • Posts

    7
  • Joined

  • Last visited

SunDiegoGuy's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. FYI: A final follow up on TimerDiff() showing odd results. HP says that it looks like the C4 state is not working correctly on the 6000 Pro (Intel not AMD) and that is what is causing this issue. BIOS for our other previous models does not support C4 state. They also found another work around: disable "Extended Idle Power Management" (default set to Normal) in F10 setup, under OS Power Management tab.
  2. I found this solution: The /usepmtimer is a boot.ini switch that seems to take care of the problem. http://support.microsoft.com/kb/895980 http://support.microsoft.com/kb/833721/en-us http://blogs.technet.com/perfguru/archive/2008/02/18/explanation-for-the-usepmtimer-switch-in-the-boot-ini.aspx
  3. I'm fairly certain TimerDiff() users QueryPerformanceCounter. Check out my results calling those functions directly: $F = DllCall("Kernel32.dll", "Int", "QueryPerformanceFrequency", "int64*", "") $S = DllCall("Kernel32.dll", "Int", "QueryPerformanceCounter", "int64*", "") sleep(5000) $E = DllCall("Kernel32.dll", "Int", "QueryPerformanceCounter", "int64*", "") ; MsgBox(0,"", $E[1] & " " & $S[1] & " " & $F[1] & " " & ($E[1] - $S[1])/$F[1]) ConsoleWrite("Time difference using QueryPerformanceCounter:" & @CRLF & "Start Tick=" & $S[1] & " End Tick=" & $E[1] & " " & " Difference= " & $S[1]-$E[1] & " " & "Frequency=" & $F[1] & @CRLF & "(E-S)/F= " & ($E[1] - $S[1])/$F[1] & " Seconds" & @CRLF) Results Without USB stick inserted: >"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Drivers\SharpTimerTest\AutoIt_QueryPerformanceCounter.au3" Time difference using QueryPerformanceCounter: Start Tick=5915525973700 End Tick=5916346056550 Difference= -820082850 Frequency=3325030000 (E-S)/F= 0.246639233330226 Seconds >Exit code: 0 Time: 0.303 Results With USB stick inserted: >"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Drivers\SharpTimerTest\AutoIt_QueryPerformanceCounter.au3" Time difference using QueryPerformanceCounter: Start Tick=6232139910610 End Tick=6248753583120 Difference= -16613672510 Frequency=3325030000 (E-S)/F= 4.99654815445274 Seconds >Exit code: 0 Time: 5.248
  4. I'm not exactly sure how to make that suggestion (I'm a newbie); however, I did find the TimerInit and TimerDiff author's name from the C++ source code Author's text file, it is Garrett R. Mueller garrett@mailsnare.net but his Email address fails. I wonder if anyone might know how to reach him? I'd like to find out what TimerDiff is really using if it is not using GetTickCount? Also, I tested Windows 7 on the 6000 Pro it does not experience the problem. This points me toward a Microsoft OS thing; I'm going to keep looking. Too bad we are not ready to move to Windows 7 yet; thanks again for any and all ideas.
  5. Thanks for the reply, I'll try your code on Monday when I'm back at work. We are running WinXP 32bit OS; I tested under SP2 and SP3 with no difference. The hardware is an HP 6000 Pro.
  6. Hello all, I'm new to the forum so please bear with me: We’ve narrowed a hang in our AutoIt launch code scripts to the timerdiff() function. We've found it responds improperly on a new HP desktop we are testing while in Windows normally versus within Safe Mode or when using a USB device. The test script below should sleep for 5 seconds, then consistently reply with an elapsed time of about 5000; on our newer desktops it sleeps for the 5 seconds but then replies with about 100 elapsed time instead; it responds correctly on all our older model HPs including DC7900s. We’ve found two ways of making it respond normally again on the new model, one is to have a USB device connected the other is to boot up in Safe Mode. Obviously, neither work around can be used in our live environment. We use the timer concept in a bunch of our scripts and need to know what makes TimerInit() and TimerDiff() "tic" (pun intended). We've also tried running it using MSCONFIG, "load basic devices and services only"; same problem. We've read several of the existing forum entries but still have not seen a good description of how the two functions interact with the OS or hardware. Can someone help me understand the two functions and also give me an idea of why hardware might affect them? $startTime = TimerInit() Sleep(5000) $timeElapsed = TimerDiff($startTime) MsgBox(0, "Elapsed", $timeElapsed)
×
×
  • Create New...