Repository navigation
ThreadPilot v1.7.8 β Game Boost, security hardening and a much lighter app
Stable release. It contains everything from the v1.7.8-beta.1 and v1.7.8-beta.2 previews: Game Boost (off by default), a full security and performance audit, and a new installer. Upgrading from v1.7.7 is recommended: the app uses about a tenth of the CPU with the window open and almost none in the tray, and several security issues are fixed.
Hardware validation still pending for Game Boost on dual-CCD Ryzen and Intel hybrid CPUs. Game Boost's core split has been tested only with unit tests and a simulated topology on those CPUs, not on real hardware. It is off by default and everything else in this release does not depend on it. If you have one of these CPUs, see Help us test below. No FPS improvement is claimed.
New since v1.7.7
- Game Boost (off by default): topology-aware CPU Sets for the game and explicitly listed background apps, optional Above Normal priority, high QoS for the game, EcoQoS for listed background apps in Isolation, respect for your rules and manual changes, restoration when the game exits or Game Boost is turned off, and a crash-recovery journal. Open Tweaks β Game Boost to try it.
- Activity diagnostics: session start/end, what was applied or left unchanged and why, and restoration results.
- CPU topology fixes: Intel P-cores are identified by the highest Windows EfficiencyClass; AMD CCD groups use real L3 groups and sizes, including 6+6 layouts.
Performance: before and after
Measured on the Release build, Ryzen 7 5800X3D, Processes page open, ~200 running processes. "% of a core" = CPU time of ThreadPilot divided by wall time.
| before | after | |
|---|---|---|
| window open, idle | ~25β30% of a core | ~2.3% of a core |
| minimized to tray | ~2% of a core | 0 ms of CPU in 90 s (0β0.03%) |
| wake-ups in tray (context switches/s) | ~275 | 0β10 |
| startup CPU (first 15β20 s) | ~8.4β9.9 s | ~6.0 s |
| main window appears | ~1.3 s | ~1.3 s |
| during a game, Game Boost in Isolation (tray) | ~0.42β0.62% of a core | ~0.10β0.15% of a core |
| restore after the game closes | ~1.4β3 s | ~0.05β0.1 s |
| private memory, steady state | ~225 MB | ~220β230 MB (unchanged: ~145 MB is WPF and native drivers) |
Where it came from: the startup spinner no longer animates forever behind the hidden overlay, the process list is updated in place instead of rebuilt every 5 s, startup does less work and no fixed waits, dynamic PGO is off (it recompiled hot code in the background for seconds after launch), and Game Boost only runs a timer while it is on.
Security
- Elevated tasks only for Program Files installs. The no-UAC scheduled tasks are registered only when ThreadPilot runs from Program Files, where a normal program cannot replace the exe. Tasks that point anywhere else are deleted at every elevated start.
- No native DLLs extracted to %TEMP%. The WPF native libraries now ship next to
ThreadPilot.exeinstead of being unpacked into a user-writable folder and loaded by the admin process. - Admin-only temp folders for the scheduled-task definition and the downloaded update installer (random name under
%SystemRoot%\Temp, Administrators and SYSTEM only). Leftover update folders are cleaned at startup. - Updates require a trusted
SHA256SUMS.txt. The updater refuses a release whose checksum file is missing or not hosted on GitHub, before downloading anything. - Saved rules respect protected processes for every action (CPU Sets, memory/I/O priority, EcoQoS), not only affinity. Driver-tweak restores accept only the tweak's own on/off values.
- Installer hardening: when it moves an old install out of another folder it deletes nothing if that folder (or any folder above it) is a junction or symbolic link.
- Smaller fixes:
explorer.exelaunched by full path, DLL search limited to System32, BinaryFormatter disabled, registry CPU priority now writes the correctPerfOptionskey. - Release pipeline: GitHub Actions pinned to commit SHAs, write access only for the release job, publishing behind a protected environment with a required reviewer.
Game Boost
- Orchestration (beyond CPU Sets): the game gets high QoS (Windows does not throttle it when it is not in front), on any CPU. In Isolation, listed background apps get EcoQoS (on Intel hybrid Windows moves them to E-cores by itself). If the game uses β₯ 80% of its confined cores for ~12 s, its CPU Set is lifted and Windows may use every core; after ~60 s of low load it is confined again (at most twice per session). User rules and an app's own QoS choice always win.
- The game handle: ThreadPilot now keeps the game open for the session with a minimal-rights handle (
SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION, not full access, which is what anti-cheats look for). The session ends the moment the game exits, so restoring takes ~0.05β0.1 s instead of up to 3 s, and a reused process ID can never be mistaken for the game. If a game refuses even that handle, ThreadPilot falls back to polling. - The 15-second background rescan only builds process details for names in your lists.
- Fixed: changing a Game Boost setting during a session no longer drops the game's Above Normal priority.
- Fixed: a game that gets the process ID of an app that just closed is detected at once, instead of after up to 30 s.
- Fixed: EcoQoS changes no longer wipe other power-throttling flags a process set for itself (e.g. timer resolution).
Installer and portable
- The installer always installs in Program Files. It no longer asks for a folder. An existing install in another folder (e.g.
D:\Apps\ThreadPilot) is moved: the new version goes to Program Files and only ThreadPilot's own program files are removed from the old folder. Settings, rules and your other files there are kept; the old uninstaller is not run (it would delete your settings). - A portable copy can install itself for autostart. Turning on "Start with Windows" in a portable copy offers to download, verify (SHA256) and install the official version in Program Files; ThreadPilot then restarts from there with autostart on. It never installs an older version. On a preview build, turn on Include prerelease updates first, otherwise only the older stable release is found (the app now tells you).
- Update a portable copy by replacing the whole folder, not only
ThreadPilot.exe: the native DLLs now live next to the exe.
Other fixes
- Processes page: the table is as wide as its columns and the details panel takes the free space (Priority and CPU cores side by side on wide windows); the narrow layout is unchanged.
- The main window reopens maximized if it was closed maximized.
- "Reset process changes on exit" works again: it ran after the process monitor had already forgotten what it changed.
- In-app updates close ThreadPilot through the normal shutdown, so Game Boost and power-plan changes are restored before the installer runs.
- A leftover autostart entry from very old versions no longer hides that autostart is off.
- Update checks order prereleases correctly (beta.10 is newer than beta.9).
Help us test: dual-CCD Ryzen and Intel hybrid
Game Boost's core split and dynamic release only act where the game is confined: AMD dual-CCD (7900X3D / 7950X3D / 9900X3D / 9950X3D, and 7950X / 9950X in Isolation) and Intel hybrid (12thβ14th gen, Core Ultra). On single-CCD CPUs, or with fewer than six physical cores on the game side, Game Boost leaves CPU Sets to Windows.
Please use the quick test from beta.1 and also note:
- whether the CPU Set is lifted during heavy scenes (Activity shows it) and whether that helps or hurts frame times;
- Isolation with and without a browser video or Steam download in the background;
- on Intel, a heavily multithreaded game;
- any anti-cheat refusal (ThreadPilot never bypasses process protection).
Open an issue titled [1.7.8][Game Boost] CPU model β result/problem with CPU, SMT state, Windows build, chipset driver, game, mode, Activity entries and, if you can, CapFrameX/PresentMon captures (at least three runs per scenario). If Game Boost causes problems, turn it off: the rest of the app is unaffected.
Known limits
- An old install in another folder that is still running from the tray during the upgrade keeps its exe there; close it and delete the old folder by hand. The new version removes any elevated task that points to it.
- Artifacts are unsigned while code-signing enrollment is pending. SmartScreen may warn; verify the SHA256 checksums.
- Upgrades preserve settings; uninstalling removes ThreadPilot-owned user data.
What's Changed
- feat: Game Boost preview 1.7.8-beta.1 (separate from stable 1.7.7) by @PrimeBuild-pc in #72
- docs: stable/preview downloads and current UI screenshot gallery by @PrimeBuild-pc in #73
- ci: release environment and secrets check by @PrimeBuild-pc in #74
- 1.7.8-beta.2: security and performance audit, Game Boost orchestration, installer changes by @PrimeBuild-pc in #75
- chore: release 1.7.8 by @PrimeBuild-pc in #81
Full Changelog: v1.7.7...v1.7.8