Hello!
Just tried the Echo Arena beta and it seems like performance is pretty bad via Revive. This is not only apparent in the menu, but also in the tutorial + in multiplayer matches. In real matches the problem gets worse when activating your fists with the trigger buttons to either punch an enemy or defend yourself.
My PC: i5 4690k, 1080 GTX, game installed on SSD
No noticeable difference with always-on reprojection.
Should I provide you with any logs?
Edit: reading a bit on other forums, it seems like other people can play the game fine, haven't seen any reports of performance issues. I guess then it's something on my side.
Are these frame drops or tracking latency? I'm aware of a prediction error that I'm trying to fix that is resulting in extra latency.
You can check if you're dealing with frame drops by going to the SteamVR settings on your desktop monitor and turning on Performance > Notify in Headset.
Just checked it again:
In tutorial, lobby: only extra tracking latency
When pulling the trigger in combat situation to prepare a punch or defend against one: tons of frame drops
I can consistently make the frame drops appear by pulling the trigger button in the combat scenarios.
Does the controller vibrate when you do that? Perhaps the game is flooding the SDK with haptic events.
Yes, they do if remember correctly. Let me recheck that very quickly again. Will edit this comment.
Edit: yes, they do vibrate during those actions
Also lagging, 48% reprojection after playing for an hour. Some of that is most likely from using Steam Broadcast, but I noticed lag without streaming.
Edit: This was all most likely from streaming, just had 2% reprojected frames after another hour or so and no streaming. Still getting jitter when doing almost anything though.
This release should reduce the tracking latency and the jitter: https://github.com/LibreVR/Revive/releases/tag/1.1.6
I couldn't reproduce any of performance problems @jaorg1234 reported though. Can you confirm you are still experiencing the problem with the new release?
Tracking latency has improved dramatically with this update! I think now it is in a really good and playable state. I think there's still some extra latency, but just very minor.
I still do get the performance issues, though. Did you try to go to the combat area in the lobby to try to replicate it? For me it still happens 100% of the times I activate my fists to punch (white electricity orb appears)
Edit: also tried all combinations of always-on reprojection and asynchronous reprojection and right now (for me at least) it seems like having always-on reprojection gives the smoothest experience.
I have tried that and got the white orb, even punched some people in the face, no frame drops.
Hm, seems like some issue on my side then. Thanks for fixing the latency issues so quickly! I'll edit my post if I can find the cause of my issues + a solution.
If you want, we can try and create some detailed reports of your issue using the debug version of Revive.
I'm definitely up to do something like that! Just give me the instructions how to start the debug version and where the log files are placed, and I can attached them here.
To use the debug version, extract this zip file into the folder where you installed Revive, replacing all existing files: Revive.zip
Now start Echo Arena like you normally would and once it's started visit this link: http://localhost:1338/
This will show you a detailed profiling graph from Revive, very handy to debug all kinds of performance issues. But it will only show the last 30 frames, so you need to make sure you've captured the problem in that graph.
You can capture a new graph of 30 frames by refreshing the page, so what you do is you go to the combat area, take off your headset and then press the trigger and refresh the page during the performance problems.
Once you think you've captured a good graph, just use your browser to save the page as an HTML file. All the profiling information is stored in the HTML, so you can just pack it in a zip file and upload it into the comment box here.
To go back to the non-debug version, just re-install the latest version of Revive.
Here a capture when the frame drops occured. I pressed the trigger buttons with both hands. Maybe this is what makes the difference. When I only use one hand, there are less frame drops. Not sure, though, if this is a "good" capture or not.
Yeah, you've captured the problem. For some reason on your PC ovr_SetBool takes forever on some frames.
This could potentially fix it, it's a non-debug version, but you should extract it in the installation directory just like the debug version: Revive.zip
Hm, doesn't seem to change anything regarding the frame drops.
Edit: reading more comments on reddit right now, it seems to be a very isolated issue that only affects me.
Okay, here's a version that ignores ovr_SetBool completely: Revive.zip
So with this version the following happens:
It's starting to sound like a USB problem, have you tried disabling the HTC Vive camera in the SteamVR settings?
If that doesn't work, here's a build with half the haptics frequency, which should lighten the load on your USB host controller: Revive.zip
I always have the camera disabled and the latest files you've sent me don't seem to make a difference (neither in performance nor in terms of haptics). Maybe the game has an option somewhere to deactivate the haptics altogether, I'll take a look around.
I can also do that from the Revive side: Revive.zip
This solves the FPS issues! So it really is tied to the haptic feedback and somehow it seems only I am affected by it. Thanks for the quick personal hotfix :) Now I can play the game fluidly
I still think it's a USB issue. Try plugging the Vive into a different USB port, even a USB 2.0 might work better, since those ports are likely on a separate host controller. You can also try moving other USB devices from the USB 3.0 ports to a USB 2.0 port.
I just tried removing all unnecessary USB devices except for the Vive and tried both USB 2.0 and USB 3.0 ports, but the result is the same. Also, it seems to only happen in Echo Arena. I just tried a SteamVR game with constant haptic feedback which didn't cause any frame drops. Next I tried "First Contact" via Revive and tried to cause the controllers to vibrate constantly by half-pushing in the buttons around me with both controllers, which also didn't lead to any frame drops.
I'm sure it's something on my computer that's causing the issue because neither you nor other Echo Arena players seem to report on the same issue. Maybe it's not even related to Revive. Sorry for bothering you so much, I'm already happy to be able to play Oculus games overall :)
My jitter/lag is almost non-existent with the new update!
@cazman321 The jitter happens when OpenVR and Revive disagree what the headpose was for a certain frame. Revive can't just use the same pose as OpenVR because some games will request the pose earlier than it's available and there's no way for Revive to let OpenVR know what headpose was used to render the frame.
So if things like reprojection kick in and OpenVR corrects for a different headpose than the one Revive predicted for that frame you get a "jump" or "jitter" in the tracking.
This is still an ongoing development in trying to nail down the right way to do headpose prediction in Revive.
There's also a quick-fix, and that's making games wait until the latest pose information is available from OpenVR, but that can have a big impact on performance.
^ That is because openvr is looking for hmd and other devices to all be using the same struct I.e. lighthouse driver.
I don't know what you mean by that?
What I am trying to describe is openvr documentation. Let me try to find
It explains what you are describing in that openvr struggles with multi vendor vr device setup especially when non steamvr tracked devices are involved because of the matrix/struct the lighthouse driver/devices use compared to other trackers and tracked devices.
That's not what I'm describing, this is an issue with a single VR device using the lighthouse driver.
Being used with an oculus app which uses a different struct for oculus controllers?
My bad, Sorry for distraction and any confusion caused. Disregard my irrelevant info.
Interesting. Do you think Valve could create a reprojection or position-prediction setting that would be for Revive-only games? I guess a per-game calibration of prediction algorithms? It's probably a waste of their time, but they seem to care about Revivers.
@cazman321 Valve would need to change their API to allow Revive to tell OpenVR the head pose that was used to render the frame. Unfortunately that's not what their API was designed for and it's a very critical part of the API, so they're understandably reluctant to change something like that.
Anyway, as long as we can continue to improve the latency it should become less and less of a problem.
Ah. Turning off Async Reprojection and leaving "Always-On" seems to make it super smooth for me FYI, just like how it helps in DiRT.
Any chance this fixed issues in other games (Edge of Nowhere) of was it specifically for Echo Arena?
How did you get Echo Arena to even launch? Whenever I try to launch it crashes. I posted the error here: https://github.com/LibreVR/Revive/issues/651
I just launched it as any other game through Revive dashboard. Are you using the latest version?
The beta is over anyway, but you can still play the tutorial.
Closing this issue as it seems to be fixed by 1.1.6.