Repository navigation
feat: clearer process and rule editors - #68
Merged
PrimeBuild-pc merged 25 commits intoOct 16, 2026
Merged
Conversation
- Process details: CPU, memory and I/O priority pickers with an explicit Apply, undo of the last manual priority change (guarded against reused PIDs), adaptive side/bottom details panel. - Manual process control stays available while automation is paused, with a persistent notice instead of an overlay. - Saved-rule editor stages all edits (including the core mask) and saves them together, showing pending changes. - Localized the new strings in all seven languages.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
The rules editor's core mask went through a new update path that reported success without saving when no affinity payload was built, and kept a legacy mask next to a CPU selection. Merge it with the old single-purpose method (now unused), keep its checks, and localize the undo message.
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Closes #66. - Native: SetProcessInformation/GetProcessInformation with ProcessPowerThrottling (EXECUTION_SPEED), three states: Windows decides, On (EcoQoS), Off (never throttle / HighQoS). - Process tab: context menu entries, a picker with Apply in the details panel, current state in the summary, undo of the last change, included when saving current settings as a rule (only if explicitly set). - Rules: EfficiencyMode + ApplyEfficiencyModeOnStart, applied by the rules engine, editable in the saved-rule editor, validated on import and part of conflict detection. - The summary flags when the global Power Throttling tweak voids it. CPU priority is left alone, unlike Task Manager's efficiency mode. - Localized in all seven languages.
…-mode # Conflicts: # ViewModels/SelectedProcessSummaryViewModel.cs
- Navigation pane open with short labels instead of seven bare icons. - Processes: one toolbar row (search with placeholder, Filters and Columns menus, sort, refresh); details split into Process, Priority, CPU cores and Rule cards; pickers start from the process's current values and stay empty when a value cannot be read; help paragraphs moved into tooltips; core picker always visible. - Rules: process rules first, clearer tab names, localized choices in the saved-rule editor instead of internal enum names. - Shorter page titles and subtitles in all seven languages; removed the strings this made unused. No data format changes.
- Settings: one column of rows (what it is on the left, its switch on the right), most used sections first, Save as the primary action. - Tweaks: one tweak per row with its status dot and switch. - Rule list: 'Applies' and 'Mode' columns use the same localized labels as the editor and refresh on language change. - Removed 76 strings no code referenced, from all seven languages.
- Process counter could show more visible processes than the total
('157 / 151'): the batch total was a snapshot from the first load.
- Narrow windows (or 150% scaling): toolbar buttons move under the search
box instead of squeezing it to a few letters.
- Rules list keeps the 'Applies' column readable when narrow.
- Settings status message gets its own line instead of being cut.
Tested in a Hyper-V Windows 11 VM: clean install, upgrade, uninstall,
light and dark theme, 100% and 150% scaling.
- The navigation pane, window size/position/maximized state, and the process list filters, sort and columns now survive a restart. They live in ui-state.json, apart from settings.json, so they never mark the Settings page as unsaved or travel in exported configurations. A corrupt file falls back to defaults; tests write to a temp file. - Fixes the pane re-opening on every start (it was hard-coded open). - Tweaks use a native-looking Windows 11 switch (40x20 track, sliding thumb) with On/Off written beside it. - New test: every on/off setting survives save and reload.
…3 groups The legacy topology treated the lowest EfficiencyClass as the performance core, swapping P- and E-cores on hybrid Intel CPUs. AMD CCDs were guessed as 8 cores each, which split 6+6 parts (7900X3D, 9900X3D) into 8+4; they now come from the L3 groups Windows reports, with the guess kept only as a fallback. The topology snapshot also keeps each L3 group's size.
While a detected game runs, Game Boost sets process default CPU Sets from the CPU topology: on AMD X3D with one larger L3 the game goes to the V-Cache CCD, on Intel hybrid CPUs to the P-cores, and selected background apps (browsers, sync clients, updaters, launchers) to the other cores. On dual-CCD parts with equal L3 only the background moves, unless Isolation mode also keeps the game on CCD0. Single-L3 and unreadable topologies are left to Windows. Above Normal priority for the game is optional; never High. Each change is written to a journal before it is made and undone when the game exits, Game Boost is turned off or ThreadPilot closes, and on the next start after a crash. Only values still exactly as Game Boost set them are restored, never one a user rule or a manual change has taken over since. Persistent rules and Game Boost share one apply gate, and a rule always wins over Game Boost for the setting it covers. The switch, mode and lists are on the Tweaks page, off by default, and take effect without a restart.
The background list compared full-path entries against an empty path, so only bare process names worked. Found by a new integration test that runs the real services on two copies of PING.EXE: CPU Sets and priority are set and read back through Windows, removed when Game Boost is turned off, and undone from the journal after a simulated crash. The topology is simulated from this machine's CPU Set IDs, so the test also runs on CPUs where Game Boost would not act; it skips itself below 8 cores.
Windows Server 2022 build 20348 rejects GetProcessInformation(ProcessPowerThrottling) with ERROR_INVALID_PARAMETER (87), with both limited and full query handles. Windows 11 local tests pass. Use Server 2025 for CI/release tests and smoke testing; keep the real round-trip assertions, remove temporary probes.
feat: Game Boost sessions, CPU topology fixes and Activity diagnostics
feat: clearer navigation, process page and rules editor
feat: per-process efficiency mode (EcoQoS)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #67.
Summary
Tests