Skip to content

TrayStats v1.13.0

Latest

Choose a tag to compare

@andruu andruu released this 21 Feb 08:05

What's New

  • Fixed NVIDIA Optimus display-mode blocking: TrayStats no longer prevents NVIDIA Advanced Optimus from switching between integrated and discrete GPUs. This was a known WPF platform bug where WPF unconditionally creates a D3D9 device that NVIDIA interprets as active GPU usage. The fix ships DXVK's d3d9.dll shim which translates D3D9 calls to Vulkan, plus an explicit preload in Program.Main() to ensure WPF uses the local shim instead of the system DLL.
  • Updated README with DXVK details in features, key libraries, and architecture sections.

Technical Details

  • Added DXVK v2.6.1 d3d9.dll (Vulkan-based D3D9 implementation) as a content file copied to the output directory
  • Added dxvk.conf with d3d9.shaderModel = 1 to further encourage software rendering
  • Added LoadLibraryW P/Invoke in Program.cs to preload the local d3d9.dll before WPF initializes (WPF's native renderer was bypassing the local DLL and loading the system one)
  • Removed the ineffective registry-based GPU preference approach (EnsureIntegratedGpuPreference)
  • Retained RenderMode.SoftwareOnly as defense-in-depth

Download

Extract the zip and run TrayStats.exe. Right-click the tray icon to access settings and restart as admin for full sensor access.