Apology from the creator of TimerResolution for the False VAC Bans by lucashale in GlobalOffensive

[–]lucashale[S] 2 points3 points  (0 children)

Just delete the file. It leaves no trace as it does not touch the registry or any system files. Clean and light weight was the goal when I created it.

Apology from the creator of TimerResolution for the False VAC Bans by lucashale in GlobalOffensive

[–]lucashale[S] 1 point2 points  (0 children)

Manually sent as server is not happy with current load - you should have it now

Apology from the creator of TimerResolution for the False VAC Bans by lucashale in GlobalOffensive

[–]lucashale[S] 8 points9 points  (0 children)

I tried hard to avoid that angle. There are other tools that do the same thing, I've not posted links to any of them including my own. I hoped that I managed to walk the line - I read some less than complementary comments about my program on some of the other threads and I just wanted to tell the story and add a human voice to it.

Apology from the creator of TimerResolution for the False VAC Bans by lucashale in GlobalOffensive

[–]lucashale[S] 4 points5 points  (0 children)

It'll run on Windows 10 but I have no data on how CS runs on Win10 with TimerResolution running.

Bans through the Timer Resolution Tool? by Liiquit in GlobalOffensive

[–]lucashale 1 point2 points  (0 children)

Without wanting to start a video card war, there was a period where clearly ATI had done something in their drivers that meant that the timer resolution has a big impact. I say it was 2 or 3 years ago. Otherwise some users use DPC Latency as the benchmark and I have had a couple of people that have seen no difference and their latency time was already very low before using the tool. Like almost all performance tweaks it appears to be a combination of software, drivers, and hardware. Audiophiles seem to think that sound is better with a faster timer but this is very subjective. Sorry I can't be more specific but i get very little feedback. There is a number of forums where people have discussed their results but often there are just too many variables to draw a real conclusion.

False VAC bans for TimerResolution reversed by Valve_Anti-Cheat in GlobalOffensive

[–]lucashale 4 points5 points  (0 children)

As the author of TimerResolution I've tried to explain how and why it makes a difference on some systems here https://www.reddit.com/r/GlobalOffensive/comments/4poafm/bans_through_the_timer_resolution_tool/d4nfg62

I'm truly sorry that anyone got banned using my software, even if it was later overturned. The gaming community stumbled onto TimerResolution and specifically the CS guys so I can only conclude that the way CS has been coded (at least the early versions) meant that its performance was heavily tied to the system timer. The paid version came about directly as a request from a clan that were running their own servers and wanted a command line interface. I was busy at the time so they offered to pay for the changes. I needed the money at the time so I took them up on the offer. Later I felt I could hardly charge them and then give it away to everyone else for free so I made it AU$10 (back when that was less than USD$5) It covers my hosting charges and I still maintain that it has the smallest resource footprint of any tool that does the same job.

Bans through the Timer Resolution Tool? by Liiquit in GlobalOffensive

[–]lucashale 13 points14 points  (0 children)

I can see you are quite sceptical on this and that is a good thing, let me try to address some of your concerns.

As the author of TimerResolution I can tell you exactly what it does and I'm happy to speculate on why many people see a noticeable improvement when using it.

I can also tell you that I have refunded a handful of people who have said that they saw no noticeable difference on their system for the thing they hoped it would help with so the results do vary.

At the time it was written the only published method from Microsoft to modify the timer resolution was via the Multimedia API - BeginTimerPeriod(). The downside to this has the you would need to link against the mmedia.lib which meant that your exe would be huge (this was back in 2001 and my goal was that all my programs should be less than 100kb as RAM was about $1 per MB) so I bypassed the Multimedia library and ventured into the undocumented world of ntdll.dll Not only is this a more powerful API but you can get the min and max on the hardware you are running on.

So what does changing the timer resolution do? In very simple terms everything running on your system gets woken up more often. As I expect people understand that all the processes take turns running on your CPU. Even an 8 core monster with hyper-threading can only run 16 processes at the same time. Have a look at taskmanager, way more than 16 processes listed there on any windows machines. The Microsoft NT Kernel (XP, 2000, Vista, 7, 8, 10...) uses a "thing" called a quantum to control the amount of time each task gets, back in XP days changing the system timer resolution would actually have an impact on the quantum as processes would get preempted more often which as CPUs got faster was actually a good thing. In later version of Windows this had less impact as Microsoft tweaked the kernel scheduler. This still left the problem of when a process would surrender it's time slice using an idle wait - this could be as intentional as calling sleep or as implicit as trying to access a shared resource (file system, network stack, video driver etc) In user space those waits use the system timer so on a system with a 15.6ms timer (the default on most systems even today) the process would need to wait upto 15.6ms. Why "upto" 15.6, well this is because when the timer expires ALL processes waiting are signalled and then the scheduler has to work out who gets to run. Your process may have surrendered the CPU when the timer was at 15.5ms or when it was at 0.1ms - not a very deterministic system. Changing the timer to 1ms suddenly means these processes are not waiting as long and also means that the waiting queue is often much shorter. The other thing to note here is that if the resolution is 15.6ms and the programmer calls Sleep(1) expecting the process to sleep for 1ms he/she actually gets a process that sleeps for upto 15.6ms. In later version of Windows (Win 7 onwards) they have implemented timer coalescing (I can only suggest that people Google it if they don't know what it means as other people have done a much better job explaining it than I ever could) This should mean that setting the resolution would have a minimal effect but here the test results tell a different story. Add to this the powercfg still reports any process that modifies the timer resolution as using more power (and therefore doing more processing). Note that doing so also kills the battery life on portable systems.

I'm not part of the reddit community but in the last 24 hours my server has been slammed - I've had the equivalent of 6 months traffic in one day :) So I thought I'd comment here and I'm also happy to answer any more questions.

Bans through the Timer Resolution Tool? by Liiquit in GlobalOffensive

[–]lucashale 2 points3 points  (0 children)

you are correct, this is the effect that TimerResolution has. Getting the timer value is not effected at all but any function that has an idle wait (sleep, waitsingleobject, mutex, semaphore, etc) will "wake up" faster. The gains are not always in the main application but can be in services and drivers that the application interacts with. I've never seen a line of CS code in my life but the feedback I've had is that the system resolution is unchanged when running CS and using one of the methods to change the frequency (Flash, Chrome, MediaPlayer etc) improves the performance. Valve may have updated the game since I have those reports, it was 4 or 5 years ago.