Repository navigation
Releases: AtvouzX/nitrous_fork
Releases · AtvouzX/nitrous_fork
Release list
v0.9.1
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Nitrous v0.9.0
Features & Improvements
- Power-Profile Fan Curves: Added power-profile-specific custom fan curve management, allowing independent curve tuning and profile presets for Quiet, Balanced, Performance, and Turbo modes.
- Enhanced Fan Curve Editor: Revamped interactive waypoint fan curve window with live profile switching, manual curve presets, and responsive RPM telemetry preview.
- Acer Service Debloater: Added integrated management to detect, disable, and restore background Acer OEM telemetry and updater services directly from the dashboard.
- UI & Theme Overhaul
- Live Battery Wattage Telemetry: Real-time charge and discharge wattage readouts via WMI battery telemetry.
Battery & Hardware Preservation
- In-Process Power Management: Replaced external
powercfg.exeprocess spawning with native Win32powrprof.dllAPI calls for instantaneous, zero-overhead dual AC/DC processor power state configuration.
Performance & Optimization
- Dashboard Startup & Telemetry Optimization: Eliminated dashboard launch latency and reduced memory overhead through optimized telemetry polling loops and aggressive transient working set trimming.
Bug Fixes & Stability
- Battery Telemetry Fallback: Resolved battery detection failures on Acer laptops by migrating hardware queries from
DeviceIoControlto standard WMI interfaces. - UI Layout & Binding Fixes: Fixed broken header data bindings and layout clipping on high-DPI displays.
Full Changelog: v0.8.11...v0.9.0
v0.8.11
Nitrous v0.8.11
Features & Improvements
- Real-time Telemetry Graphs: Added real-time CPU & GPU usage and temperature graphs to the dashboard.
Battery & Hardware Preservation
- Prevent Unintended GPU Wake: Nitrous now checks active GPU processes and unloads NVML/NvAPI if it is the only application active, allowing the dGPU to return to D3Cold sleep.
- Reliable GPU Sleep Detection: Switched power state detection to native Windows CM APIs (CM_Get_DevNode_Property) to avoid waking the dGPU during telemetry polling.
Bug Fixes & Stability
- Decoupled Telemetry Polling: Fixed GPU usage incorrectly displaying
--%while the GPU was awake with Deep Telemetry disabled.
Full Changelog: v0.8.5...v0.8.11
v0.8.5
Nitrous v0.8.5
What's New
- Dashboard Synchronization: The Dashboard UI now instantly updates when you change a setting (like Fan or Power profiles) from the System Tray or via keyboard hotkeys.
- Bug Fixing
Full Changelog: v0.8.0...v0.8.5
v0.8.0
Nitrous v0.8.0
What's New
- Physical Nitro Button Integration: Full support for the dedicated laptop Nitro key across all 8 generations of Acer Sense software (
PSLauncher.exe,NSLauncher.exe,NitroSense.exe, etc.) via IFEO registry redirection. - Reliable Window Activation: Single-instance Named Mutex & Event architecture ensures pressing or releasing the Nitro key smoothly brings the dashboard to the front without premature minimization or duplicate processes.
- CPU Power Management & Boost Suppression: Simultaneous dual AC/DC power tuning (
/setacvalueindex&/setdcvalueindex) with Turbo Boost disabled on Quiet/Balanced profiles to eliminate thermal spikes and fan revving on Intel Core and AMD Ryzen laptops. - Zero-Process GPU Telemetry: Replaced
nvidia-smi.exeprocess spawning with directnvml.dllP/Invoke calls, reducing CPU/disk overhead to 0% during telemetry while strictly preserving discrete GPU D3Cold sleep on battery. - Global Hotkeys & On-Screen Display (OSD): Added customizable hotkeys for cycling power modes with a lightweight, color-coded on-screen badge.
- 100% UI Tooltip Transparency: Every interactive button, slider, toggle, and clock offset input now features dark-themed tooltips explaining underlying hardware registers, processor state percentages, and boost policies.
- Security Hardening: Enforced
System32search paths across all native P/Invoke declarations (psapi.dll,user32.dll,kernel32.dll) and double-quoted all registry executable paths.
Full Changelog: v0.7.5...v0.8.0
v0.7.5
Release v0.7.5
Fan Curve & Hardware Control
- Dynamic Fan Curve Reloading: Implemented timestamp-based version tracking (
FanCurveVersion) between the UI and background engine, ensuring changes saved in the Curve Editor are immediately reloaded by the background service without requiring an app restart or power profile cycle. - Auto-Activation on Save: Clicking SAVE & APPLY in the Curve Editor now automatically enables Curve Mode and sets the fan profile to Custom, eliminating the need to manually toggle overrides.
- Immediate EC Application: Calculated fan speeds are now evaluated against current CPU/GPU temperatures and dispatched immediately to the embedded controller (EC) upon saving, switching fan modes, or changing power profiles.
- Hardware Mode Transition Reset: Reset
_lastAppliedCpuSpeedand hysteresis counters when switching between Auto, Max, and Custom modes so new curve targets are never suppressed by stale speed caches. - Curve-Aware Tray Menu: Selecting "Custom" from the system tray context menu now evaluates the active curve rather than defaulting to static 50% speeds.
UI & Usability
- Dynamic Tray Radio Sync: Context menu radio checkmarks for Power Profiles and Fan Profiles now dynamically synchronize every time the menu opens, accurately reflecting external adjustments and AC/DC automated switches.
- Curve Editor Canvas Stability: Hooked
GraphCanvas.SizeChangedto ensure reliable initial layout rendering and preserved mouse capture throughout drag operations to prevent nodes from dropping abruptly when moving near canvas edges.
Reliability & Maintenance
- Unhandled Exception Guards: Wrapped all
async voidcommand delegates (SetPowerCommand,ApplyGpuClocksCommand,ResetGpuClocksCommand) and tray menu event handlers intry/catchguards to prevent unhandled background exceptions from crashing the process.
Full Changelog: v0.7.4...v0.7.5
v0.7.4
Release v0.7.4
Performance & Memory Optimizations
- Eliminated Background WMI Memory Leak: Cached active
ManagementObjectand method parameter structures inAcerWmiManager, preventing accumulation of unmanaged COM Runtime Callable Wrappers (RCWs). - Smart Adaptive Background Polling: Throttled telemetry to 10s intervals when running Auto/Max modes (hardware EC controlled), reducing background polling overhead by 80% while keeping the tray tooltip responsive.
- Automated Memory Maintenance: Integrated periodic working set trimming (
psapi.dllEmptyWorkingSet) every 60s and immediately upon dashboard UI process exit, pinning background RAM to ~5–8 MB. - Optimized Dashboard Memory:
- Frozen static brushes & geometries in
NitrousDashboard, preventing WPF MIL composition cache bloat and eliminating memory spikes when switching tabs. - Automatically pauses telemetry polling and trims working set memory when the dashboard is minimized (reducing idle footprint to ~10–15 MB at 0% CPU).
- Fast-pathed system model detection via BIOS Registry key (< 1µs, 0 WMI allocations).
- Cached primary display max refresh rate to avoid enumerating 100+ GPU driver modes on every power transition.
- Statically resolved
nvidia-smipath to avoid disk I/O checks and switched stdout reading to concurrent streaming. - Refactored
ActionDebouncerto reuse a singleSystem.Threading.TimerviaTimer.Change, eliminating timer queue churn during slider adjustments. - Scoped
HttpClientinUpdateManagerto release network sockets and connection pool buffers after boot update checks.
- Frozen static brushes & geometries in
UI & Ergonomics
- Quick Settings Window Docking: Anchored the dashboard flyout directly above the Windows taskbar system tray (matching Windows Quick Settings positioning).
Full Changelog: v0.7.3...v0.7.4
v0.7.3
Full Changelog: https://github.com/AtvouzX/nitrous_fork/commits/v0.7.3