Second version of set timer resolution service http://forums.guru3d.com/showpost.php?p=4549897&postcount=411
Inspiration attacked me... So another utility in form of system service was written. This time it boosts the priority class of started process. Anyone interested? Actually service may be rewritten to give opportunity not only boost but set the priority class of process manually...
OK. I will investigate some later thoughts, will try to implement most flexible ini-file format, and will post results...
the only HPET option in my bios is "ACPI HPET Table" Enabled/Disabled. does anyone know what it means?
After some searching I can surmise that this setting just toggles mapping of HPET related info into ACPI tables. I`ve googled some linux developers forum: The original test has some notion of checking the HPET table but this was #ifdef'd out from the original Linux Firmware Developer Kit code and never implemented in fwts. Remove the old legacy code and fully implement a HPET table validation. Since we want to sanity check where the kernel's view of where the HPET is located and what the HPET table states, I've re-ordered the sub-tests to ensure the new test runs 2nd. There is simple method of testing: 1 - execute in cmd.exe with administators rights "bcdedit /set useplatformclock true" and reboot 2 - run WinTimerTester_1_1.exe and look at QueryPerfomanceFrequency value; if it 14 MHz then HPET is on and in use
Micro-tool http://www.mediafire.com/download.php?31au02shv28159d This is PowerShell script for modification of too high priority class of running processes. It is very simple. You can tweak it yourself and play with it. To read its help, execute in PowerShell (in the folder with script): get-help .\Modify-ProcessesPriority.ps1 -Full
Is there a way i can make the Current Resolution in Timer Resolution tool permanent? Right now i have to open the programm (or autostart) and have to click "maximum"). So is there any reg entry or smth. familiar so i can change timer to 0.5ms?
PowerShell is integrated into Win7 and Win8. It provides console command line mode - PowerShell.exe, and integrated scripting environment - PowerShell_ISE.exe. Second one can be used for editing and for debugging. You can even put breakpoints inside script to stop execution and evaluate variables values. If you open Modify-ProcessesPriority.ps1 (in any text editor) you will see links on .Net class Process, on enum ProcessPriorityClass values and on scheduling priorities. So with this online info you can tweak script so that instead of priority class modification it can collect processes info, kill processes, find not responded processes,... And you will see variable [hashtable]$Transitions which contains transitions of priority class in form of 'key=value' pairs. You can tweak those transitions and for example instead of decreasing priority of processes you can increase it. If you never executed scripts in PowerShell, you need to set script execution policy: set-executionpolicy remotesigned or set-executionpolicy unrestricted execute that in PowerShell. P.S. After all you can ask me for any needed tweaks...
Free community versions of set timer resolution tool: http://forums.guru3d.com/showpost.php?p=4539837&postcount=330 - console app http://forums.guru3d.com/showpost.php?p=4541126&postcount=374 - system service (first C# version) Just compile these with csc.exe on your rigs... First C++ version of system service http://www.mediafire.com/download.php?a3m87ybzvzugdk6 Second version (C#) of set timer resolution service (capability of specifying processes for a timer resolution added) http://www.mediafire.com/download.php?by934opu8qox9wc
easier way of doing it.. but depends if you have free version or paid version. if its paid, drop the shortcut into the startup folder. go the shortcut propererties, and add -silent -max into the target. silent makes it not popup when you boot, max maxes the timer
too bad i have only the free Version @mbk1969 Thank you so much again, works like a charm But one question: In DPC Latency Checker it shows from the scratch, test interval 976µs with a latency of ~110 (with timer resolution disabled). When i enable timer resolution, Latency goes to ~25. Test Interval still 976µs. Now i close DPC Latency Checker and restart it. Test Interval is now 488µs and latency also ~110 (with timer resolution enabled). So, i can say it changed nothing at all, except the "test interval" ? The latency is still the same?
Did you try latencymon? It is more sophisticated then DPC Latency Checker. Set timer resolution tools do just that simple action - call API function NtSetTimerResolution. I never stated that it will improve something on your rig. I implemented these versions to help gurus to experiment with it (and I don`t like mentioned paid version, knowing how easy it was to implement). If I was DPC checker developer I would tell you why it behaved like you said. And if I was Microsoft developer who implemented the kernel I would tell all gurus about timer resolution impacts... =) Edit: As I remember all reported improvements (by setting maximum timer resolution) didn`t mention DPC latencies. They all operated with 'smoother, snappier'-like terms... Edit2: Not 'timer resolution enabled/disabled' but 'maximum/default timer resolution'.
Updated package for gurus who use (or want to) set timer resolution service v2 with per process capability: http://www.mediafire.com/?by934opu8qox9wc Change log: - performance improvements - due to performance optimizations service does not account processes started before service itself - assembly version attribute and assembly product attribute were added, so you can see them in exe-file properties dialog (Details tab) - ReadMe.txt updated Performance testing steps: (- Write 'notepad' into SetTimerResolutionService.exe.ini) - Start STR service - Clear the Application event log - Execute in PowerShell: Code: 1..100 | foreach { Start-Process notepad }; Start-Sleep 1; Get-Process -Name notepad | foreach { $_.Kill() } (The code creates 100 notepad instances -> waits 1 second -> kills all notepad instances.) - After all notepads are closed check Application event log for two events from STR service: "Actual resolution = 5000" and then "Actual resolution = {default resolution}" - i.e. "maximum resolution is set on first notepad start" and then "default resolution is set on last notepad kill". Edit: No need for service reinstallation for those who already uses second version of service - simply replace old exe-file with new one.
I forgot completely that PowerShell 2 (in Win7) by default is not configured for work with .Net v4 objects and assemblies. So here is script which does configure PowerShell 2: http://www.mediafire.com/?6m51jq412sg7ddl
this is not a performance tweak, but you can free up a bit of space and shrink your winsxs folder a bit. (not by much) tested on windows 8, should work on windows 7, maybe vista. type this from a command prompt; DISM.exe /online /Get-Features /Format:Table >featurelist.txt and then check out the txt file it generates, it lists optional features of windows. some is listed on the "optionalfeatures.exe" app window, but a lot of the stuff is hidden. create a batch file with; DISM.exe /online /Disable-Feature /Featurename: /Remove just put in the feature name infront of the : and hit enter and it'll uninstall/delete the installation files from your hdd. example: DISM.exe /online /Disable-Feature /Featurename:Microsoft-Hyper-V-All /Remove the following is for windows 8 only, again enter at a command prompt or put in a batch file. dism.exe /online /cleanup-image /startcomponentcleanup it cleans up the winsxs folder, removes unneeded hotfixes.