LibreVR / RoboRevive

A Robo Recall mod that adds native Vive support
126 stars 16 forks source link

Performance was great, now terrible #39

Open AzraelXS opened 6 years ago

AzraelXS commented 6 years ago

I've been bashing my head against a wall for quite some time on this before deciding I might need to reach out for help to see if anyone else has encountered a solution for this.

The RoboRevive mod was a godsend when it first came out. Buttery-smooth and way better than running the game via actual Revive. Thank you VERY much for all of your hard work.

Now, on the latest version of RoboRecall as of this writing, using the latest version of the mod, on the latest version of Steam VR (The normal branch, the beta branch, and the openvr-inputemulator-temporary branch), with the latest drivers, on the latest (Insider) build of Windows 10, I'm getting truly horrible performance.

I drop all kinds of frames with Async Projection and Interleaved Projection disabled, and with them enabled, I get some immersion-breaking stuttering and performance inconsistencies with a reprojection ratio of around 26% as measured by the OpenVR Advanced Settings.

My PC otherwise games beautifully. I run DOOM (2016) completely maxed out on a 144hz 1080p gaming monitor without even the slightest sign of system instability or frame drops. All normal Steam VR titles run great. Even Oculus Medium on Revive has a reprojection ratio of 4%, but Robo Recall runs like a dog.

It's been this way through 3 builds of Windows without getting better, and several nVidia driver releases. I've disabled all the new exploit protections, Windows Game Bar, defaulted nVidia control panel settings, disabled supersampling, and nothing makes it any better.

I don't want to sound conceited, but I'm an IT professional with plenty of experience troubleshooting a huge variety of hardware and software issues, but I've tried all the "obvious stuff" other than a full re-install, and am nearing wits end. I don't want to reinstall everything from scratch, but I'm really considering it now... I love this game enough to go through the headache.

I have nothing overclocked. All settings defaulted. Fresh build of Windows 10, and screaming badass GPU, so I'm wondering what the deal is. My system is otherwise completely stable.

My system specs are as follows (This used to give beautiful performance on older versions of Robo Recall with RoboRevive with this exact same hardware with 1.3x supersampling in-game.)

Cooler Master GX 750W PSU MSI Z77-A Systemboard Intel i7 3770K CPU Geforce GTX 1080ti Founders Edition GPU 16GB GSkill Ripjaws DDR3 2400 mhz Memory Western Digital Black 1TB 7200 RPM SATA HDD HTC Vive Rev D connected to GPU via HDMI Vantec 7.1 surround sound USB external sound card version 2.0.01.36

Steam package versions: 151337113 Steam API: v017 Currently on SteamVR openvr-inputemulator branch for Oculus Medium compatability Windows 10 Professional x64 Insider Build 17101.rs4_release.180211-1040 nVidia driver version 390.77 Avast! antivirus version 18.1.2326 build 18.1.3800.0 Virus Definition version 180222-2 Vantec audio driver version 8.1.8.2166

CrossVR commented 6 years ago

Can you try regular Revive to compare?

AzraelXS commented 6 years ago

Alright, I figured it out, and it boiled down to a misconception on my part about how all this works.

In the first release of RoboRevive mod, I recall seeing a stand-alone version of SteamVR in one of the folders that the mod created, and in the latest version of the mod, that SteamVR executable isn't there, so I assumed incorrectly that RoboRevive could run under the normal SteamVR that I run everything else in, so I was loading up my normal SteamVR, entering the desktop view, and running the RoboRecall executable file on the desktop from inside SteamVR. It appears that this caused the game to be run with the actual revive.

If I close SteamVR down completely, and then simply run RoboRecall's shortcut on my desktop, a seemingly different version of SteamVR that doesn't show the controller charge or allow me to bring up my steam library launches, and it's within that environment that RoboRecall loads up and performs perfectly.

I hope this description makes sense. Thank you, Armada, for pointing me in the right direction.

CrossVR commented 6 years ago

RoboRevive doesn't have or need a separate version of SteamVR. And I'm not sure how letting RoboRecall start SteamVR for you would affect performance.

It sounds like you may have Steam completely shut down and are then using RoboRecall to start SteamVR without Steam running. This is possible, as SteamVR doesn't actually require Steam to be running, you just won't have access to your library.

Sounds like Steam itself may be affecting performance? Can you try disabling the Steam Overlay?

AzraelXS commented 6 years ago

Neither am I, but it makes all the difference in the world.

When I let RoboRecall start SteamVR for me, it starts up a version that's not on the openvr-inputemulator branch like my usual SteamVR.

Also, in the version RoboRecall launches, you cannot see the controller charge levels while RoboRecall is loading, and cannot press the controller power button to pull up the SteamVR library while in the game.

It's like a bare-minimum SteamVR, and RoboRecall performs flawlessly there.

On Sun, Feb 25, 2018, 9:50 AM Jules Blok notifications@github.com wrote:

RoboRevive doesn't have or need a separate version of SteamVR. And I'm not sure how letting RoboRecall start SteamVR for you would affect performance.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/LibreVR/RoboRevive/issues/39#issuecomment-368315388, or mute the thread https://github.com/notifications/unsubscribe-auth/AZmlCelo6X4MH7PDk-n4Z6h84fhdltlvks5tYXNAgaJpZM4SQUib .

CrossVR commented 6 years ago

it starts up a version that's not on the openvr-inputemulator branch like my usual SteamVR.

What do you base that on? The fact that the SteamVR library doesn't work just means that Steam isn't running. It doesn't mean it's a different installation of SteamVR.

AzraelXS commented 6 years ago

Also, the SteamVR status bar is just titles SteamVR instead of SteamVR openvr-inputemulator-temporary. There are several differences. The two versions audii output selections operate independently of one another.

On Sun, Feb 25, 2018, 11:42 AM Jules Blok notifications@github.com wrote:

it starts up a version that's not on the openvr-inputemulator branch like my usual SteamVR.

What do you base that on? The fact that the SteamVR library doesn't work just means that Steam isn't running. It doesn't mean it's a different installation of SteamVR.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/LibreVR/RoboRevive/issues/39#issuecomment-368323998, or mute the thread https://github.com/notifications/unsubscribe-auth/AZmlCaVT0xmdL7h6_t8HNi9pRj89f-Goks5tYY1bgaJpZM4SQUib .

CrossVR commented 6 years ago

Sounds like there's something wrong with your installation of SteamVR. It sounds like you've installed SteamVR in multiple locations on your PC.

bddckr commented 6 years ago

I can confirm the above suspicion: I have seen this exact behavior when users have multiple Windows user accounts, moved the SteamVR installation in the past or reinstalled it at one point.

Check the content of %localappdata%\openvr\openvrpaths.vrpath for each Windows user you have on your machine.