-
Notifications
You must be signed in to change notification settings - Fork 39
Helios Performance - Window Focus issue #950
Description
Helios instrument gauges stop updating or update very slowly when DCS has focus. The issue manifests as a rendering/refresh freeze where Helios-drawn instruments (gauges, switches, indicators) become static or extremely slow.
The issue occurs consistently whenever DCS is the foreground/active window. Switching focus to any other application (Explorer, browser, etc.) immediately restores smooth Helios instrument updates. This behavior suggests DCS acquiring foreground focus causes Windows to throttle or deprioritize the Helios WPF rendering thread.
Steps to Reproduce the problem
Launch Helios Control Center as Administrator with F-16C profile loaded
Launch DCS World in Borderless Window mode as Administrator
Load into F-16C aircraft - Helios instruments initialize correctly with correct values
Click into DCS to give it focus
Observe Helios instruments become static and stop updating
Alt-Tab to focus any other application
Helios runs smoothly
Expected behavior
Helios instrument gauges and bindings should update continuously at the configured export rate (60Hz) regardless of which application has Windows focus. The rendering thread should not be throttled or suspended when DCS acquires foreground focus.
Helios Version: 1.6.6180.1
DCS Version: 2.9.25.21402
System specifications:
CPU: AMD Ryzen 9800X3D
GPU: RTX 4090
RAM: sufficient (confirmed not a resource issue)
OS: Windows 11
Display setup: Triple 2560x1440 monitors (Native 4k set to 1440 for performance) (Monitor 3, 2, 1 left to right) with UPERFECT UMax 24 touchscreen (2560x1440) as Monitor 4, positioned below
center monitor. All displays on RTX 4090. All displays at 100% scaling.
Profile in use: Any - Including single VVI as only object
Troubleshooting steps already attempted without resolution:
DCS set to Borderless Window mode (not fullscreen exclusive)
Both Helios Control Center and DCS running as Administrator
Export.lua confirmed clean with no conflicting dofile calls (only HeliosExport16.lua active)
Export update rate increased from 30Hz to 60Hz in profile settings
HeliosExport16.lua confirmed at 0.017s export interval (approx 60Hz)
Windows Timer Resolution utility set to maximum (0.5ms) - no change
Windows background app refresh settings checked
Windows Display Settings graphics preference for Helios set to High Performance
ForegroundLockTimeout registry value set to 0
CPU and memory utilization confirmed not to be the cause (DCS ~20% CPU, Helios ~3% CPU during issue)
All four displays confirmed on same GPU (RTX 4090) eliminating cross-GPU rendering as a factor
Hypothesis: The issue appears to be WPF rendering thread throttling by Windows when DCS acquires foreground focus, rather than a data flow or export script issue. Touch input on the touchscreen generates a sufficiently forceful Windows input event to wake the rendering thread, which is why touch reliably resolves the freeze while it is active.