elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
467 stars 29 forks source link

There are too many drops #55

Closed emircanerkul closed 1 year ago

emircanerkul commented 1 year ago

Hi everyone, firstly I want to thank you for such a great app. But I can not play due to lots of drops just destroying the whole experience. I'm just using https://github.com/BlueSkyDefender/Depth3D via Reshade. What do you recommend to eliminate such CPU drops?

Processor: 12th Gen Intel(R) Core(TM) i5-12400F, 2500 Mhz, 6 Core(s), 12 Logical Processor(s) GPU: AMD 6800XT VR: Pico 4

Screenshot_com picovr picostreamassistant_2023 07 11-07 46 17 645_753 - Copy (2)

elvissteinjr commented 1 year ago

It's hard to say to be honest. Desktop+ on its own should be relatively light on the CPU. Some scenarios may force higher update rates, like cursor movement caused by high poll-rate mice or laser pointer input, but neither apply when the OS cursor isn't visible as it's typical in games.

Seeing your overall frame times withing SteamVR being low, this might actually be a GPU-bound scenario. Your GPU load is near 100% and SteamVR might have to wait for the GPU to respond in the workload otherwise counted for the CPU (the frame time numbers displayed come directly from SteamVR, but aren't 100% useful if there's no SteamVR game running).

I'd suggest trying to turn down graphics in the game a bit and see if that helps as a first step. And limit the frame rate for the game if you haven't . Doesn't have to be vsync, but unconstrained usually won't leave much performance headroom for other applications.

Another thing that may help a little bit, is another tool of mine, SteamVR-VoidScene. It mainly affects GPU frame time, however, and difference may not be noticable depending on the GPU.

On a side note, you may want to look into mirroring at unconstrained frame rates, unless your desktop display already supports more than the Pico's 90 Hz. A typicial 60 Hz mirror on a 90 Hz display would have some judder even in ideal performance scenarios for example.

Hope that helps a bit. btw: Helix Mod's geo-11 3D driver supports geometrical 3D (as opposed to depth-buffer based) for The Witcher 3. That would be an alternative if you're looking for a better 3D effect, but it'd be even harsher on performance (and a bit cumbersome to set up tbh).

emircanerkul commented 1 year ago

@elvissteinjr thank you for the detailed explanation.

I've run some tests today, One is if I drop all settings low and turned reshade to performance mode I am able to get fluent rotation in game. But i do not play on that graphics so I maxed the settings to ultra and i was able to get 60fps in pc but in the headset it is way far from them, and latency goes up about 100 (30-40 in all low settings on 5ghz wifi btw) and when I rotate in game it screen becomes jumpy and can not playable.

Btw its definitely caused desktop+ because when I close the Steam menu which the desktop is placed, latency goes to the normal level, but when I reopen it, the problem comes back.

Maybe there is some option to tell to gpu prioritize the desktop+ app more than Witcher.

elvissteinjr commented 1 year ago

This might be difficult to debug. For what it's worth, I'm still holding out with a GTX 1070 in my system. I don't play AAA games through Desktop+, but I generally experienced only a slight performance impact from it. A 6800XT should be able to take this just fine, though I haven't personally tested the app with any AMD GPU.

Can you run the latest NewUI Preview build and post the logs it generates? There are no relevant capture code differences between stable and that, but there might be something of note in the logs. Is Hardware-Accelerated GPU Scheduling enabled? I'd recommend it to be disabled for this, but it might not make any difference. Can you try using Graphics Capture as the capture method on the overlay? Desktop Duplication is generally recommended for screen captures, but the result might be different. Lastly, can you see how the performance impact shifts when you limit the overlay updates?

These are just shots in the dark, really. Best I can come up with right now.

emircanerkul commented 1 year ago

Hardware-Accelerated GPU Scheduling is not available for AMD, I already tried Graphics Capture is good more that Desktop Duplication. I able to get fluent play in 2k ultra setting ~60fps but from time to time screen froze, as I see the game run ~ -15 fps than what pico says me maybe there is some sync issue. I checked with supraland also and same problem there, especially fps game can not be playable. Even 1 drop if was there within 30s game can not be playable. It have to be fluent otherwise vr just makes motion sick.

emircanerkul commented 1 year ago

I end up using https://github.com/alvr-org/ALVR which definitely helped. There is no drop in the Pico, there was a bit of jamming but it also happen in pc, witcher ultra+ 4k is able to play it almost fluently 6800XT and alvr extreme resolution with 90hz and of course desktoplus. BTW all is wireless!