Settings Explained - LordBlacksun/x3d-ccd-optimizer GitHub Wiki
Settings Explained
Access settings via the Settings button in the bottom right of the dashboard, or through the system tray icon right-click menu.
Tab 1: General
| Setting | Default | What it does |
|---|---|---|
| Start with Windows | On | Adds the app to Windows startup. It will launch automatically and start in your default mode. |
| Start minimized to tray | Off | When combined with "Start with Windows," the app launches silently in the system tray. |
| Minimize to tray on close | Off | When off (default), clicking X closes the app completely. When on, clicking X minimizes to the system tray instead. |
| Show notifications | On | Enables Windows notification toasts for events like game detection. |
| Default mode on launch | Monitor | Which mode the app starts in. Choose Monitor or Optimize. Set to Optimize if you want automatic optimization from the moment the app launches. |
| Optimization strategy | Driver Preference or Affinity Pinning | Choose between Affinity Pinning (direct CCD assignment via SetProcessAffinityMask) or Driver Preference (AMD V-Cache registry key). On first run for Dual-CCD X3D processors, defaults to Driver Preference when the AMD V-Cache driver is detected; falls back to Affinity Pinning otherwise. For standard (non-X3D) dual-CCD processors, Affinity Pinning is the default since the V-Cache driver is not applicable. Strategy selection is tier-gated. See AMD V-Cache Driver Preference for details. |
| Polling interval | 2000ms | How often the app checks for running processes. The app uses adaptive polling: 4 seconds when idle, 2 seconds when a game is detected (active mode). This setting controls the base interval. Range: 1000ms-5000ms. |
| Dashboard refresh | 1000ms | How often the dashboard heatmap and UI updates. Lower values give smoother animations. Range: 500ms-5000ms. |
Tab 2: Process Rules
This tab has two columns:
- Games column (left): Processes to pin to the V-Cache CCD (CCD0). Includes autocomplete from scanned library results. Add or remove entries. Manual entry supported.
- Background column (right): Processes to pin to the Frequency CCD (CCD1). Includes a process picker for selecting from currently running apps. Add or remove entries. Manual entry supported.
See the dedicated Process Rules page for full documentation.
Tab 3: Detection
| Setting | Default | What it does |
|---|---|---|
| Enable GPU auto-detection | On | Automatically detect games by monitoring GPU usage. When disabled, only manual rules and library scan matches are used. |
| Require foreground window | On | Only detect a game via GPU heuristic if it's the active foreground window. Prevents background GPU processes (video encoding, etc.) from being misidentified as games. |
| GPU usage threshold | 50% | Minimum GPU 3D engine usage a process must show before it's considered a game candidate. Higher values reduce false positives but may miss lighter games. Range: 20%-90%. |
| Detection delay | 5s | How long a process must continuously exceed the GPU threshold before being confirmed as a game. Prevents brief GPU spikes from triggering false detections. Range: 1s-15s. |
| Exit delay | 10s | How long to wait after GPU usage drops below threshold before declaring an auto-detected game has exited. Prevents brief dips (loading screens, cutscenes) from causing premature exit detection. Range: 5s-30s. |
| Excluded processes | (list) | Processes that should never be detected as games, even if they exceed the GPU threshold. Default list includes browsers, media players, and development tools. |
| Rescan Game Libraries | (button) | Triggers a manual rescan of all detected game libraries (Steam, Epic Games Store, GOG Galaxy). Use this after installing new games or if the Game Library tab is missing titles. |
| Download Game Artwork | Off | When enabled, downloads box art images for games in the Game Library tab. Connects only to Steam's public CDN for artwork. No data is sent. Off by default for privacy. |
Adaptive Polling
The app uses adaptive polling intervals for process scanning:
- Idle (no game detected): 4-second polling interval
- Active (game detected): 2-second polling interval
- The app automatically switches between idle and active polling when a game is detected or exits
- Re-migration of newly launched processes during active mode occurs within 5 seconds
Tab 4: Overlay
| Setting | Default | What it does |
|---|---|---|
| Enable overlay | Off | Show the compact always-on-top overlay window. Can also be toggled with Ctrl+Shift+O. |
| Show CCD load bars | On | Display CCD usage bars in the overlay showing average load per CCD. |
| Opacity | 80% | Overlay transparency. Lower values make it more see-through. Range: 30%-100%. |
| Auto-hide after | 10s | Seconds of inactivity before the overlay fades out. It reappears when a new event occurs. Range: 5s-30s. |
| Pixel shift every | 3 min | How often the overlay shifts position by a few pixels to prevent OLED burn-in. Range: 1-10 minutes. |
| Default position | Top Right | Which corner of the screen the overlay appears in when not manually dragged to a custom position. |
| Hotkey | Ctrl+Shift+O | Toggle overlay visibility from anywhere, including while in-game. |
Tab 5: Advanced
| Setting | Default | What it does |
|---|---|---|
| Log level | Information | Controls verbosity of the log file at %AppData%\X3DCCDOptimizer\logs\. Options typically include Debug, Information, Warning, Error. |
| Open Log folder | (button) | Opens the log directory in Windows Explorer for easy access to log files. |
| Open Config folder | (button) | Opens the config directory in Windows Explorer. |
| Reset all settings | (button) | Restores every setting to its default value. Requires confirmation. |
Settings File Location
Settings are saved as JSON at %AppData%\X3DCCDOptimizer\config.json. You can back up or transfer this file between machines.