Skip to content

Releases: vadyaravadim/timer-resolution-utility

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 19:56

Full Changelog: v1.0.1...v1.2.1

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 15:28

Full Changelog: v1.2.0...v1.0.1

v1.2.0

Choose a tag to compare

@vadyaravadim vadyaravadim released this 18 Jul 17:45

Added

  • The irm <url> | iex one-liner now works: with no file on disk, the script saves the exact text you piped in (a fork, a branch, a local copy — not a re-download of main) to %USERPROFILE%\timer-resolution-utility.ps1 and reruns it from there, so the timer_undo_*.json / BCD backup files and the resolution-holder task get a stable path. The rerun handles elevation as usual.
  • If a different copy already exists at that path, it is kept as .bak before overwriting.
  • Mode switches (-Status, -Measure -Samples, -Undo) are forwarded through one shared list used by both the bootstrap rerun and the self-elevation relaunch, so neither can silently drop them.

Fixed

  • An unhandled error in a piped (irm | iex) run no longer closes your console: the trap used exit 1, which terminated the session it ran in. It now rethrows the error instead.

Internal

  • The script is now pure ASCII with no BOM (localized bcdedit tokens as \uXXXX regex escapes) — a BOM breaks irm | iex, non-ASCII in a BOM-less file breaks -File under PowerShell 5.1 — guarded by an ascii-check CI workflow.

Docs

  • README Quick Start: the one-liner is now plain irm ... | iex — the script saves itself.

Full Changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@vadyaravadim vadyaravadim released this 18 Jul 01:00

Fixed

  • Two runs within the same second produced identical timestamped undo/backup filenames and silently overwrote the previous run's undo file. A suffix loop now picks the first free name (_1, _2, ...).

Docs

  • Related section now links GameDVR & FSO Disabler and Interrupt Affinity Utility.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@vadyaravadim vadyaravadim released this 17 Jul 21:55

Reliability release: every finding from a deep code review of the initial version, fixed.

Fixed

  • bcdedit failures were reported as success. PowerShell 5.1 never throws on a native command's nonzero exit code, so a locked or corrupt BCD store still printed [OK] and "REBOOT REQUIRED". All bcdedit calls (apply, -Undo, BCD export) now check the exit code and surface the actual error.
  • -Undo chain never progressed past the newest snapshot. The timer_undo_*.json filter also matched already-applied *.applied.json files, so repeated -Undo kept re-applying the same file. Applied files are now excluded and snapshots sort by their name stamp.
  • Holder task could bind to the wrong user. When a standard user elevated with a separate admin account, the logon trigger and principal were created for the admin. The pre-elevation user is now forwarded through the relaunch and the task gets an explicit Interactive principal.
  • Re-selecting the holder tweak silently destroyed an existing task. A pre-existing task's XML is now saved in the undo file, and -Undo restores the previous definition instead of just deleting the task.
  • Localized BCD values could break undo. Recognized localized Yes/No tokens are canonicalized before being stored (bcdedit /set only accepts invariant tokens); unrecognized values are shown verbatim in the grid instead of masquerading as "default".
  • Windows PowerShell 5.1 misread the script. Saved as UTF-8 with BOM so the non-ASCII regex tokens parse correctly under powershell.exe.

Improved

  • After each -Undo the script reports how many older undo files remain.
  • The -Hold task re-asserts the resolution request hourly (Windows 11 coalesces requests from background processes) and the status output flags when the holder has no system-wide effect yet.
  • System state is re-read after the tweak grid closes, so the undo file records the actual pre-change values.
  • Per-tweak backup/undo/apply logic now lives in a single definition table - one place to extend, nothing to drift apart.

v1.0.0

Choose a tag to compare

@vadyaravadim vadyaravadim released this 17 Jul 17:37

First public release.

Download timer-resolution-utility-v1.0.0.zip, unzip, double-click Run.bat, pick your tweaks, reboot.

  • View the whole Windows timer stack: timer resolution, dynamic tick, platform tick, HPET, Win11 GlobalTimerResolutionRequests
  • Built-in Sleep(1) benchmark (-Measure) - verify every tweak on your own hardware
  • Hold 0.5 ms timer resolution via a hidden scheduled task (pure PowerShell, no binary) - works on Windows 11 together with the system-wide registry tweak
  • disabledynamictick / useplatformtick / HPET un-forcing - each opt-in, never "apply all"
  • -Undo + full BCD store backup before any bcdedit change
  • Open-source alternative to the closed-source TimerResolution.exe / ISLC