alan-wake-2-1.2.11-perf-report.txt
Text version of the perf profile (the .perf.data.log attachment is the raw perf.data, renamed so GitHub would accept it).
Closing, not a vkd3d-proton or game patch regression.
Main cause was the Epic EOS overlay (EOSOverlayRenderer), which Heroic installed and enabled in the prefix on 2026-10-19, right after the last good
session. With VKD3D_QUEUE_PROFILE the DIRECT queue submit thread was 100% busy, ~56% of it in shared fence waits (often 20-35 ms each). Disabling the
overlay: ~18 -> ~51 fps.
The remaining stutter when turning the camera was MangoHud: its thread used ~27% of a core (still running with the HUD hidden) on a CPU-limited system.
With MangoHud off, GPU utilization is ~85% on average (was 30-84%).
The 1.2.11 update was coincidental.
ge-proton11-9x1 2026-10proton experimentalx1 2026-10VKD3D_QUEUE_PROFILEx1 2026-10DXVK_NVAPI_DISABLE_ENTRYPOINTS=NvAPI_D3D_SetSleepMode,NvAPI_D3D_Sleepx1 2026-10PROTON_LOG=1x1 2026-10d3d12core.dllx1 2026-10
Software information
Alan Wake 2 (Epic, launched via Heroic/umu). Game version 1.2.11, installed 2026-10-25.
Ran fine on 1.2.10 (last played 2026-10-19). Since the update to 1.2.11, fps is
14-40 and GPU utilization stays at ~35-50% while the GPU sits at full clocks (P0,
~1930 MHz). Turning the camera makes it worse (frametime spikes 150-470 ms).
Graphics settings make no measurable difference. Same result with:
The update replaced AlanWake2.exe, data/shaders/build/pc_dx12/.binrfx (152 files),
6 files in data_pack2/pc and the amd_fidelityfx_ DLLs. vkd3d-proton.cache was deleted
before testing.
Same behavior on:
Control and Control Resonant (same engine, Proton Experimental) run normally on the
same system with similar settings.
What the game is doing
perf (10 s while moving through the level, proton-cachyos build):
__vdso_clock_gettime, and several % in ntdll SRW lock / RtlWakeAddressAll paths.
It looks like the main thread is waiting/polling rather than submitting work.
perf.data attached.
Disabling Reflex (DXVK_NVAPI_DISABLE_ENTRYPOINTS=NvAPI_D3D_SetSleepMode,NvAPI_D3D_Sleep,
NvAPI_D3D_SetLatencyMarker,NvAPI_D3D12_SetAsyncFrameMarker, confirmed in the log) does
not change anything.
Errors in the log:
lists awaiting execution from command allocator (repeats every few seconds)
(10-22 per session, in bursts)
System information
Log files
Proton log attached (PROTON_LOG=1, proton-cachyos, Reflex disabled run; Epic auth args and home path redacted).
alan-wake-2-1.2.11-proton-redacted.log
alan-wake-2-1.2.11.perf.data.log