Repository navigation
Releases: bdgrix/ProcRipper
Releases · bdgrix/ProcRipper
Release list
ProcRipper v3.0.0-beta
Full Changelog: v2.0.0-beta...v3.0.0-beta
ProcRipper Changelog
v3.0.0 (December 2025) - Major Architecture Overhaul
🎯 Major Changes
Complete Codebase Restructure
- Modular Architecture: Refactored from single 2700+ line monolithic
Main.csto organized project structure:Core/- Configuration, monitoring engine, CPU topology detection, loggingFeatures/- Feature-specific modules (GPU priority, network throttling, DWM optimizer, etc.)UI/- Tray icon manager, WinForms configuration editorNative/- P/Invoke wrappers and Windows API interop
- Separation of Concerns: Split runtime (ProcRipper.exe) from configuration editor (ProcRipperConfig.exe)
- Improved Maintainability: Each feature now has its own class and namespace
Configuration Editor (ProcRipperConfig.exe)
- NEW: Dedicated WinForms GUI for configuration management
- Process Management:
- Live process list with icons, PID, and memory usage
- Add/edit/remove game and system process configurations
- Search and filter running processes
- Double-click to open detailed process editor
- Per-Process Settings:
- Priority control (TIME_CRITICAL to IDLE)
- CPU affinity management (ALL, specific cores, ranges)
- Priority boost disable toggle
- NEW: GPU priority management (Very Low, Low, Normal, High)
- Thread Management:
- Per-thread priority configuration
- Thread affinity settings
- Thread search and filtering
- Add/edit/remove thread configurations
- Module Management:
- DLL-level priority control
- Module search and filtering
- Add/edit/remove module configurations
- Global Settings:
- Network throttling toggle
- Auto-idle prevention toggle
- Verbose startup toggle
- NEW: Auto-apply memory caps on game launch
- NEW: Memory cap safety prompt toggle
- NEW: Per-app memory limits configuration (MB)
- Network priority control (Low, Normal, High, Highest)
- Import/Export:
- Export configurations as ZIP archives
- Import configurations with automatic backup
- Automatic config backups (keeps last 10)
- Memory Cap Management:
- Add apps to memory limit list
- Set per-app MB limits
- Check apps for auto-restart enforcement
- "Restart & Apply Memory Cap" button for immediate enforcement
✨ New Features
GPU Priority Management
- Per-Process GPU Scheduling Control: Set GPU priority for each application
none- No GPU priority management (Windows default)very_low- Minimal GPU access (background apps)low- Reduced GPU accessnormal- Default GPU accesshigh- Maximum GPU access (recommended for games)
- Continuous Enforcement: GPU priorities reapplied every 100ms to counter Windows resets
- Windows 10 1709+ Support: Uses
ProcessPowerThrottlingAPI - Configuration Format: Extended
.GCFGfiles to support 5th parameter- Old:
[ProcessName.exe,Priority,Affinity,DisableBoost] - New:
[ProcessName.exe,Priority,Affinity,DisableBoost,GpuPriority]
- Old:
Auto RAM Cap Enforcement
- Continuous Memory Monitoring: Checks configured apps every 5 seconds during game sessions
- Automatic Restart with Job Objects: Kills and relaunches apps exceeding memory limits with hard caps
- Per-App Configuration: Set custom MB limits for each application
- Example:
chrome_memory_limit_mb=1024,discord_memory_limit_mb=400
- Example:
- Selection-Based Enforcement: Only monitors apps explicitly checked in config UI
- Safety Prompt: Optional confirmation before auto-restarting apps on game launch
- Global Config Options:
auto_apply_memory_caps_on_game_launch=True/Falseprompt_before_auto_memory_caps_on_game_launch=True/Falseauto_memory_caps_targets=chrome,discord,steam(comma-separated list)
Shared Configuration Directory
- Workspace-Anchored Config: Both runtime and config editor now resolve a shared
config/folder - Automatic Path Resolution: Walks up directory tree to find workspace root
- Persistent Settings: Configuration changes now survive across editor/runtime launches
- Consistent State: No more path mismatches between tools
Enhanced Logging System
- Minimal vs Verbose Modes: Toggle between clean output and detailed debug info
- WriteMinimal(): New logging method for clean, color-coded status updates
- WriteVerbose(): Detailed debug logging only in verbose mode
- Timestamped Logs: All actions logged to
log/log-YYYY-MM-DD-HH-MM-SS.gtxt - Console Toggle: CTRL+SHIFT+H to hide/show console window
- Tray Integration: Tray icon reflects verbose/minimal mode state
🔧 Improvements
Monitoring Engine
- Multi-Interval Polling:
- Fast Check (100ms): Thread priority reverts, GPU priority reapplication
- Slow Check (5s): Process detection, pending threads, memory cap enforcement
- System Check (7min): System process discovery, smart watchers
- Smart Watchers: Per-process and per-thread watcher cycles for targeted re-application
- Memory Cap Monitor: Dedicated
MonitorMemoryCapsForTargetProcesses()method - Improved Cleanup: Better tracking of process/thread state across lifecycle
CPU Topology Detection
- Extracted to CpuTopologyDetector: Dedicated class for P-core/E-core detection
- Hybrid CPU Support: Properly identifies performance and efficiency cores
- Fallback Logic: Graceful degradation if topology detection fails
Tray Icon Manager
- Extracted to TrayIconManager: Dedicated UI component
- Dynamic Status Text: Reflects game optimization state, verbose mode, etc.
- Context Menu:
- Show/Hide Console
- Toggle Verbose Mode
- Force System Optimizations
- Exit
- Balloon Notifications: Inform user of game detection and optimization state
Hotkey System
- Extracted to HotkeyManager: Dedicated hotkey polling class
- Event-Driven: Uses callbacks/events instead of direct method calls
- Supported Hotkeys:
- CTRL+SHIFT+H: Toggle console visibility
- CTRL+SHIFT+V: Toggle verbose logging
- CTRL+SHIFT+G: Force system optimizations
Configuration Loading
- ConfigLoader Class: Centralized config parsing and data models
- Extended ProcessConfig: Added
GpuPriorityproperty - Global Config Parsing: Reads
ProcRipper.GCFGfor feature toggles and per-app settings - Memory Limit Dictionary: Stores
<processName>_memory_limit_mbentries - Auto Memory Caps Targets: HashSet of process base names to enforce caps on
🐛 Bug Fixes
- Config Path Consistency: Fixed config editor not remembering added apps due to working directory mismatches
- Memory Caps Not Firing: Fixed auto RAM caps not triggering due to missing global config settings
- GPU Priority Loss: Implemented continuous reapplication to counter Windows resetting priorities
- Thread Priority Reverts: Enhanced fast-check loop to catch and fix priority changes within 100ms
- Process Icon Loading: Improved icon extraction from running processes with fallback to default icons
- Config Backup Creation: Fixed backup folder creation and retention (keeps last 10)
📝 Configuration Format Changes
Global Config (ProcRipper.GCFG)
# NEW OPTIONS
auto_apply_memory_caps_on_game_launch=True
prompt_before_auto_memory_caps_on_game_launch=True
auto_memory_caps_targets=chrome,discord,steam,EpicGamesLauncher
# Per-app memory limits (MB)
chrome_memory_limit_mb=1024
discord_memory_limit_mb=400
steam_memory_limit_mb=600
steamwebhelper_memory_limit_mb=400Process Config Format
# Extended from 4 to 5 parameters
[ProcessName.exe,Priority,Affinity,DisableBoost,GpuPriority]
# Examples
[cs2.exe,2,ALL,True,high]
[chrome.exe,0,ALL,True,low]
[FortniteClient-Win64-Shipping.exe,15,ALL,True,high]GPU Priority Values
none- No GPU priority managementvery_low- Minimal GPU accesslow- Reduced GPU accessnormal- Default GPU accesshigh- Maximum GPU access (games)
🏗️ Technical Architecture
Project Structure
ProcRipper v3.0.0/
├── src/
│ ├── ProcRipper/ # Runtime executable
│ │ ├── Main.cs # Entry point (191 lines, down from 2703)
│ │ ├── Core/ # Core systems
│ │ │ ├── ConfigLoader.cs
│ │ │ ├── MonitoringEngine.cs
│ │ │ ├── CpuTopologyDetector.cs
│ │ │ ├── HotkeyManager.cs
│ │ │ ├── Logger.cs
│ │ │ └── Native/
│ │ │ └── AppPathResolver.cs
│ │ ├── Features/ # Feature modules
│ │ │ ├── GpuPriorityManager.cs
│ │ │ ├── AutoIdleManager.cs
│ │ │ ├── BackgroundProcessCloser.cs
│ │ │ ├── DwmOptimizer.cs
│ │ │ ├── NetworkThrottler.cs
│ │ │ ├── ScheduledTaskDisabler.cs
│ │ │ ├── WindowsUpdatePauser.cs
│ │ │ └── Native/
│ │ │ └── JobObjectMemoryLimiter.cs
│ │ └── UI/ # UI components
│ │ ├── TrayIconManager.cs
│ │ └── WinForms/
│ │ ├── ProcessDetailForm.cs
│ │ ├── AddMemoryLimitFromRunningForm.cs
│ │ └── MemoryCapWarningForm.cs
│ └── ProcRipperConfig/ # Configuration editor
│ ├── Program.cs # Entry point
│ └── ProcRipperConfig.cs # Main GUI (2774 lines)
├── config/ # Configuration files
│ ├── ProcRipper.GCFG
│ ├── GAME_PRIORITY.GCFG
│ └── PROC_PRIORITY.GCFG
└── Bin/Release/ # Build output
Key Classes
MonitoringEngine
- Main monitoring loop with multi-interval po...
ProcRipper v2.0.0-beta
Full Changelog: v1.1.0-alpha...v2.0.0-beta
ProcRipper v2.0.0-beta — Changelog
Release Date: 2025-12-04
Previous Version: v1.1.0-alpha
Overview
This release introduces a full architectural rewrite with hybrid CPU support, module-level optimization, and intelligent resource management.
Added Features
Hybrid CPU Topology Detection
- Automatic P-core/E-core detection for Intel 12th–14th gen CPUs
- Physical core detection via
Win32_Processor - Fallback logic for non-hybrid systems
- Model-specific heuristics for popular hybrid CPUs
Advanced Affinity Control System
-
New affinity keywords:
p-coree-coreautoht on/ht off/ht only
-
Dynamic affinity calculation
-
Affinity caching with automatic invalidation
Module-Level Optimization
- DLL-level thread priority via
module=ModuleName.dll,Priority - Module enumeration using
EnumProcessModulesEx - Targeted optimization for game components
- Duplicate module application prevention
Logging System
- Rotating log files (keeps 5)
- Console + file logging
- Verbose mode toggle via
Ctrl+Shift+V - Millisecond-precision timestamps
Intelligent Monitoring
- Smart process watchers
- Cycle-based activation and timeout
- Separate process and thread watchers
- Conditional optimization
Global Hotkey System
Ctrl+Shift+H— Toggle consoleCtrl+Shift+G— Force optimizationsCtrl+Shift+V— Toggle verbose mode- 200 ms hotkey rate limiting
Enhanced Configuration Syntax
[ProcessName.exe,Priority,Affinity,DisableBoost]
module=ModuleName.dll,Priority
ThreadName=Priority,Affinity,DisableBoost
Thread Priority Stability
- Blacklisting for threads that revert priority repeatedly
- Configurable
MAX_REVERT_ATTEMPTS - Priority verification
- Blacklist reset on restart
Multi-Interval Monitoring Architecture
- 100 ms fast checks
- 5 s process/thread optimization checks
- 7-minute system scans
- 20 s thread verification
- 50 ms base interval
Technical Improvements
New Data Structures
| Structure | Purpose |
|---|---|
_processWatcherCycles |
Process watcher timing |
_threadWatcherCycles |
Thread watcher timing |
_appliedModuleThreads |
Module optimization tracking |
_disableBoostApplied |
Boost disable tracking |
_threadRevertCounts |
Revert attempt counting |
_blacklistedThreads |
Optimization blacklist |
API Integration
GetCurrentProcessorNumberExGetLogicalProcessorInformationExEnumProcessModulesExGetAsyncKeyState- Extended process/thread APIs
Code Organization
- Region-based file layout
- Segmented constants, static fields, P/Invoke, config classes
- Modularized, single-responsibility methods
- Comprehensive exception handling
Fixed Issues
Resource Management
- Thread handle leaks resolved
- Collection cleanup improved
- Proper process-exit cleanup
Configuration & Logging
- More robust config loading
- Correct log rotation
- Fixed verbose logging behavior
State Tracking
- Improved thread operation timing
- Correct process watcher activation
- Cleanup of stale thread data
- Proper affinity cache invalidation
Performance & Stability
- Priority revert loop prevention
- API calls wrapped in safety checks
- Hotkey rate limiting added
- Correct system process activation
Configuration Updates
New Game Support (25+)
| Category | Games |
|---|---|
| Battle Royale | Fortnite, PUBG |
| RPG/Action | Path of Exile, Warframe, Genshin Impact, Honkai: Star Rail, Zenless Zone Zero, Diablo IV |
| Open World | GTA5, RDR2, Forza Horizon, The Division |
| FPS/TPS | CS2, Valorant, Overwatch, Borderlands, PAYDAY |
| Indie/Other | Terraria, Minecraft, osu!, Trackmania, Roblox |
| Strategy | Starcraft 2 |
| Anti-Cheat | BEService.exe, EasyAntiCheat.exe |
System Process Coverage (50+)
| Category | Processes |
|---|---|
| Input | mousocoreworker.exe, HidHide.exe |
| Audio | audiodg.exe |
| NVIDIA | NVDisplay.Container.exe, nvcontainer.exe |
| Shell | explorer.exe, ShellExperienceHost.exe, sihost.exe |
| Browsers | Chrome, Edge, Firefox, Brave, Thorium |
| Communication | Discord, Skype, Slack, Teams, Zoom |
| Utilities | Lightshot, ShareX, OBS |
| Windows Services | svchost.exe |
| Security | Windows Defender components |
| Peripheral | Razer, Logitech, Corsair |
Priority Strategy
15 TIME_CRITICAL
2 HIGHEST
1 ABOVE_NORMAL
0 NORMAL
-1 BELOW_NORMAL
-2 LOWEST
-15 IDLE
300 SUSPEND
200 TERMINATE
Breaking Changes
Configuration Requirements
- Old configs load but require updating
- Requires
System.Management - More strict parsing/validation
API & Behavior Changes
- Updated method signatures
- New monitoring intervals
- More aggressive exception handling
- Different CPU/memory behavior
System Requirements
- Administrator access required
- Limited features on pre-Windows 10 systems
- Hybrid CPU support optimized for Intel 12th–14th gen
Migration Notes
Upgrade Steps
- Back up existing
.GCFGfiles - Review new configuration syntax
- Test with defaults first
- Monitor logs in
/log/
Initialization Changes
- First-run CPU topology scan adds 2–5 seconds
- Log directory auto-created
- Hotkeys active immediately
Performance Characteristics
- Reduced CPU usage overall
- Faster thread/affinity adjustments
- Slight increase in memory usage (5–10 MB)
Known Issues & Limitations
Platform Compatibility
- Hybrid CPU detection may miss uncommon mobile CPUs
- Module optimization may require VM read privileges
- Reduced functionality on older Windows builds
Functional Limits
- Blacklisting may be too strict for certain apps
- Hotkey collisions possible
- Requires admin rights
- Some protected processes inaccessible
Performance Considerations
- Topology detection adds startup delay
- Heavy logging affects slow HDDs
- Monitoring runs at normal priority
System Requirements
- OS: Windows 7 or later
- .NET Framework: 4.7.2 or later
- Privileges: Administrator
- CPU: x86-64 (hybrid optimization tuned for Intel 12th–14th gen)
ProcRipper v1.1.0-alpha
Full Changelog: v1.0.00-alpha...v1.1.0-alpha
Changelog
[1.1.0] - 2025-11-28
Added
- Process-level optimization: Added support for setting process-wide priority, affinity, and priority boost settings
- Advanced thread operations: New
SUSPEND(300) andTERMINATE(200) thread priority levels for granular control - Dual-interval monitoring system: Fast monitoring (100ms) for priority reverts and slow monitoring (5s) for process detection
- DWM optimization: Automatic optimization of Desktop Window Manager threads for improved desktop performance
- Priority revert detection: Automatic detection and restoration of thread priorities that get reset by the system
- Multi-process handling: Intelligent identification of main process among multiple instances
- Pending thread tracking: System to track and apply optimizations to threads that appear after initial process scan
- Process affinity masking: Support for setting CPU affinity at the process level
- Enhanced configuration format: New configuration syntax supporting both process and thread level settings
- Native thread priority API: Direct Windows API calls for more reliable thread priority management
Changed
- Configuration structure: Updated from simple thread configurations to hierarchical process-thread configuration system
- Monitoring architecture: Refactored from single-interval to dual-interval monitoring for better performance
- Thread operation tracking: Implemented cooldown periods and operation history to prevent conflicts
- Process lifecycle management: Enhanced process tracking with comprehensive cleanup mechanisms
- Tray icon handling: Improved to use application's own icon instead of system shield icon
Fixed
- Resource management: Comprehensive handle cleanup and disposal throughout the application
- Error handling: Improved exception handling and recovery mechanisms
- Thread safety: Better synchronization for shared data structures
- Process access: More robust handling of process and thread access permissions
Technical Details
- New classes: Introduced
ProcessConfigclass to encapsulate process-level settings - API additions: Added Windows API imports for thread suspension, termination, and priority boosting
- Data structures: Enhanced tracking with
_threadPriorityHistory,_pendingThreads, and_lastDwmSetTime - Performance: Optimized monitoring loops with separate fast and slow check intervals
Configuration Updates
- Extended priorities: Added SUSPEND (300) and TERMINATE (200) to priority mapping
- Enhanced examples: Updated default configuration files with process-level settings
ProcRipper v1.0.0-alpha
### Everything Start From here