Windows: Progressive FPS degradation in Persona 5 Royal with virtual Xbox Series controller; disconnecting controller restores performance
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 12/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cpp
- Lĩnh vực
- desktop-dev
Hướng nghiên cứu
The payload names no source files or tests, so start by reproducing the slowdown with the Windows libvirtualhid driver and the Sunshine virtual Xbox Series controller, then compare controller create and destroy paths against the reported recovery on reconnect. Sunshine logs showing the controller being recreated are the main clue. Done would mean isolating whether the fault lies in libvirtualhid or its Windows, Steam Input or game interaction; this needs maintainer input and is not a first-timer task.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the Bug
While streaming Persona 5 Royal through Sunshine to Moonlight on an Xbox Series X, the game's actual rendering FPS gradually deteriorates when using a controller through libvirtualhid.
Disconnecting the controller immediately restores approximately 120 FPS. Performance remains restored after reconnecting it, without restarting the game or Sunshine. I reproduced this behavior more than once.
This affects the Steam FPS counter and the game on the physical PC monitor, so it is a host-side rendering slowdown rather than only dropped streaming frames.
Environment
- OS: Windows 10 Pro, build 19045
- libvirtualhid Windows driver: 2026.914.1218.10
- Sunshine: 2026.914.233613
- Sunshine gamepad driver setting:
virtualhid - Virtual gamepad: Xbox Series, automatically selected
- CPU: AMD Ryzen 5 3600
- GPU: NVIDIA RTX 3070 Ti, 8 GB VRAM
- NVIDIA driver: 581.29
- RAM: 32 GB
- Client: Moonlight UWP on Xbox Series X
- Game: Persona 5 Royal, Steam version
- Streaming encoder: H.264 NVENC, P1, approximately 60 FPS
Steps to reproduce
- Start Sunshine with the Virtual HID backend and Xbox Series gamepad emulation.
- Connect from Moonlight on an Xbox Series X.
- Launch Persona 5 Royal and play using the Xbox controller.
- Continue playing for approximately 30–60 minutes.
- Observe progressively declining FPS in Steam's FPS counter and on the PC monitor.
- Disconnect the controller while leaving the game, Sunshine, and Moonlight running.
- Reconnect the controller.
Actual behavior
- Playing locally without Sunshine gives stable performance around 120 FPS.
- Streaming sessions initially run around 80–100 FPS, then gradually deteriorate.
- One session reached approximately 27 FPS after around 30 minutes.
- Another reached approximately 16 FPS after around an hour.
- More intensive controller use, particularly holding buttons, appears to accelerate the degradation. This is an observation rather than a measured input-rate comparison.
- Disconnecting the controller immediately restores approximately 120 FPS.
- FPS remains restored after reconnecting the controller.
- Sunshine logs show the virtual Xbox Series controller being created again around the recovery. The game process remains the same.
Diagnostics during the slowdown
- Persona's main thread was almost fully occupying one logical CPU, with most of that time spent in kernel mode.
- GPU utilization was only approximately 14–17%.
- GPU temperature was approximately 45°C, with no thermal throttling reported.
- GPU memory usage was approximately 2.2–2.3 GB out of 8 GB.
- Approximately 20 GB of system RAM remained available.
- After controller reconnection, the game's kernel CPU usage fell substantially and GPU utilization increased to approximately 54%, alongside the FPS recovery.
Other tests
- Disabling Sunshine's "Present OpenGL/Vulkan on top of DXGI" option did not resolve the issue.
- Stopping the Nahimic audio service while the slowdown was occurring did not restore performance.
- In an earlier occurrence, disconnecting the Moonlight client alone did not restore FPS, but fully exiting Sunshine did.
The controller disconnect/reconnect test is currently the most reliable way to clear the slowdown. I suspect an issue in the virtual controller/input path, but have not yet isolated whether the cause is libvirtualhid itself or its interaction with Windows, Steam Input, or the game.
Expected Behavior
Controller input, including sustained button presses, should not cause progressively increasing host-side CPU overhead or declining game FPS.
Performance should remain stable throughout long streaming sessions, without requiring the controller to be disconnected and reconnected to restore normal FPS.
Additional Context
When using vigembus driver all works fine and FPS is not dropping, so it's libvirtualhid driver issue in my honest opinion.
- Ngôn ngữ chính
- C++
- Star
- 93
- Fork
- 25
- Merge trung bình
- 13 giờ 57 phút
- Pull request đã merge (30 ngày)
- 33
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của LizardByte/libvirtualhid
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
LizardByte/libvirtualhid#204 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Windows: driver host process crashes ~1s after DualSense virtual gamepad creation; all libvirtualhid devices become invalid until rebootCó thể đã có người làm @ReenigneArcher đã nhận 1 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 43/100
LizardByte/libvirtualhid#199 · 9 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Experiencing Complete Control Loss After Close/DC of Moonlight And Reconnect with DualSenseCó thể đã có người làm @ReenigneArcher đã nhận 1 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
LizardByte/libvirtualhid#196 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Impulse trigger vibration not functioning on Moonlight 6.2.0Có thể đã có người làm @ReenigneArcher đã nhận 8 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 18/100
LizardByte/libvirtualhid#193 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Windows: Xbox Series Share button is unavailable through Steam's VHF/XInput pathCó thể làm lại được @LizardByte-bot đã nhận 57 ngày trước và không có pull request nào đang mở. Đang mở
LizardByte/libvirtualhid#106 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của LizardByte/libvirtualhid
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
foxglove/mcap#1907 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
telegramdesktop/tdesktop#31505 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ll-builder shell completions omit existing lockfile commands and --lockedCó thể đã có người làm @project-nju-learner đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
OpenAtom-Linyaps/linyaps#2291 ·
Maintainer thường phản hồi trong vòng 1 ngày