itsmikethetech / Virtual-Display-Driver

Add virtual monitors to your windows 10/11 device! Works with VR, OBS, Sunshine, and/or any desktop sharing software.
https://vdd.mikethetech.com/
3.7k stars 149 forks source link

[Bug]: Xbox App PC games (primarily XCloud games) run very slow when streamed to the Virtual Display Driver via Sunshine/Moonlight #180

Open x1000knives opened 4 weeks ago

x1000knives commented 4 weeks ago

Which OS?

Win11 Home

Which release?

24H2

Describe the bug

When running XCloud games on PC and streaming them via Sunshine/Moonlight with the Virtual Display Driver as the primary display, there is very heavy lagging and stuttering. If I disable the Virtual Display Driver and use my Sunshine Host's monitor as the Primary display again, then there is no stutters or lags.

Only the game that is being streamed through the Xbox PC app appears to have this issue. Any windows or menus within the Xbox app show smooth animations, and navigating using the mouse cursor through Moonlight also does not show any slowness.

I've ensured that my VDD resolution and refresh rate matches my Moonlight Client's, and I am currently using https://github.com/Nonary/MonitorSwapAutomation and https://github.com/Nonary/ResolutionAutomation to automate this.

These are the games I've experienced this with so far: -TMNT Shredder's Revenge: (will run fine at first, but the framerate will drop drastically once you're in the level select map). -Kameo (Xbox 360 XCloud) -Fable II (Xbox 360 XCloud) -Banjo Kazooie Nuts and Bolts (Xbox 360 XCloud)

I am running the latest VDD Beta version (24.10.16)

Steps to reproduce

  1. Run Sunshine on your Host
  2. Set your Host's primary display as the VDD
  3. Connect a Moonlight Client to the Sunshine Host
  4. Run a Cloud game through the Xbox PC app in Windows.

Expected behavior

No response

Log File (Beta Only)

No response

Contact Details

No response

bud3699 commented 4 weeks ago

May you please enable logs and reproduce the issue and provide logs please

x1000knives commented 4 weeks ago

May you please enable logs and reproduce the issue and provide logs please

I've just set logging to "true" in the vdd_settings.xml, and then disabled/re-enabled the VDD in Device Manager, but I don't see any new log files being created. Do you know where it would be stored?

My VDD directory is C:\VirtualDisplayDriver

bud3699 commented 4 weeks ago

It should have been created, odd

You can force it to enable creating keys to

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver

then create a string called LOGS then writing true

I've uploaded a zip containing a .reg file if you'd prefer to add it via that ForceEnableLogs.zip

x1000knives commented 4 weeks ago

It should have been created, odd

You can force it to enable creating keys to

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver

then create a string called LOGS then writing true

I've uploaded a zip containing a .reg file if you'd prefer to add it via that ForceEnableLogs.zip

DEBUGlog_2024-10-27.txt log_2024-10-27.txt

Sorry, a typo in my XML caused the logging to not start. I got that figured out.

I've attached a normal log and a debug version. These are from running Fable 2 for about 15 seconds

bud3699 commented 4 weeks ago

Believe it or not, I think 24H2 may be partially to blame for this, they introduced minor changes to iddcx power management, its been unstable on a couple 24h2 builds. I am working on some finishing touches to the driver then I'll be releasing a new beta, had some optimisations since last update which might work better.

Based off your log files it seems the driver is struggling to keep the swapchain assigned meaning a new one needs to be re-assigned, Failed to acquire buffer suggests that either the swapchain failed or your device is "lagging" per say

What cpu do you have ?? I assume not a bad one being paired with RX 6700XT so that shouldn't be your issue

x1000knives commented 4 weeks ago

Believe it or not, I think 24H2 may be partially to blame for this, they introduced minor changes to iddcx power management, its been unstable on a couple 24h2 builds. I am working on some finishing touches to the driver then I'll be releasing a new beta, had some optimisations since last update which might work better.

Based off your log files it seems the driver is struggling to keep the swapchain assigned meaning a new one needs to be re-assigned, Failed to acquire buffer suggests that either the swapchain failed or your device is "lagging" per say

What cpu do you have ?? I assume not a bad one being paired with RX 6700XT so that shouldn't be your issue

I have an AMD Ryzen 5 3600..not the fastest CPU these days, but hasn't given me any issues as a daily driver.

I'm not surprised that 24H2 is a potential culprit, given all of the flack that it's been getting lately.

On another note, I just tried playing the game Judgment on Steam, and I got the following error message relating Direct3D. image I'm happy to create a new issue item and upload the debug log if needed.

Thanks for you help with this!

bud3699 commented 4 weeks ago

Yeh, go ahead and move that to a new issue, just to try keep it organised, give me about an hour ish or so, so I can finish up this last commit then release a new beta, that might be fixed in the new beta. If not I'll do some more research into it

x1000knives commented 4 weeks ago

I've updated to the latest VDD version, but am still getting the same lags/stutters in XCloud games

bud3699 commented 4 weeks ago

I've got a lot of updating to do. But on the other note. Do you still get the issue with the game judgement

x1000knives commented 4 weeks ago

I've got a lot of updating to do. But on the other note. Do you still get the issue with the game judgement

Yes I do, sorry I'll create that as a separate issue now