Skip to content

v3.0.2

Choose a tag to compare

@lhceist41 lhceist41 released this 21 Mar 17:39
· 160 commits to master since this release

GameShift v3.0.2

Resource Leak & Stability Fixes

  • ProcessSnapshotService now owns cached Process[] and disposes old snapshots on refresh
  • BenchmarkService, MemoryOptimizer, EfficiencyModeController, IoPriorityManager handle leak fixes
  • OptimizationEngine implements IDisposable, null guard on _snapshot revert path
  • DpcTraceEngine joins ETW processing thread on cleanup (3s timeout)
  • All lambda event handlers on GameDetector stored as fields and unsubscribed in OnExit
  • DashboardViewModel CollectionChanged handler leak fixed

Crash Recovery Completed

Registry values, CPU parking, scheduled tasks, IFEO entries, and Win32PrioritySeparation are now fully restored when GameShift recovers from an unexpected shutdown.

Optimization Failure Visibility (New)

  • Dashboard now shows "(N failed)" in the optimization summary when optimizations fail to apply
  • Post-session summary toast shows applied/total count (e.g., "12/14") with amber highlighting when failures occurred
  • Failed optimizations are logged as activity entries in the dashboard feed

Game Tips (New)

38 game-specific tips (OW2, Valorant, LoL, Deadlock, osu!) are now shown as snackbar toasts when a game launches for the first time. Tips cover performance settings, anti-cheat compatibility, and common pitfalls. Each tip shows once and is remembered.

Power Plan Conflict Fix

PowerPlanSwitcher (session optimization) is now always excluded when Background Mode is active, preventing conflicts with PowerPlanManager's own power plan management.

Other

  • DPC Doctor: removed redundant "High Performance Power Plan" quick fix (GameShift already manages its own performance plan)
  • Update window: wider layout, fixed truncated buttons, improved spacing
  • Version number displayed at bottom of navigation sidebar
  • Fire-and-forget error handling improved across ProcessPriorityPersistence and DriverVersionTracker
  • GlobalHotkeyService: WndProc hook cleaned up on failed registration