Tuesday, April 14, 2020

Dev Update #57 - Streaming Enhanced release.


RiftCat 2.6 Release
Thanks to the Beta tests, we were able to catch most of the bugs within the new version and today it is becoming available for everyone.

To be sure that your update goes smoothly:

Platform What should happen?
PC RiftCat client should update automatically. Make sure to switch to stable channel in RiftCat Settings -> Update tab.
VRidge from Google Play It should update automatically.
VRidge from iOS store It should update automatically.
Oculus Quest Re-do the installation process if installed via script. SideQuest version will update automatically.
Oculus Go / Gear VRIt should update automatically.
Daydream It should update automatically.
Viveport It should update automatically.

Streaming Enhanced brings vastly improved streaming quality, especially on NVidia GPUs.

Initially, we planned Streaming Enhanced to be a two part update, but due to certain circumstances we decided to postpone Part 2 to a separate 2.7 update that will be available in Beta soon. For now, just enjoy VRidge with a much better quality.

There are three categories where VRidge got upgraded.

Image Quality
Some time ago, we found out that streamed image by VRidge has a bit oversaturated color pallete. At the time we thought that it made colors a bit more dynamic and alive. Turns out, it causes visibility issues in dark environments - which is especially visible in Skyrim VR.

The issue is now resolved. We have improved color accuracy to be 1-1 between the generated image on the computer and the receiving mobile device. Everything should now be clearly visible.

Below image shows the color comparison between VRidge 2.5 and the newly released version 2.6.

Click image to enlarge

The 2.6 frame may seem to look a bit more washed out but it is nearly perfectly color-accurate with frame rendered by SteamVR. Mobile VR displays often use low persistence displays where 2.5 frame was displayed too dimly, resulting in lost detail in darker scenes. You can also manually adjust frame brightness with gamma slider in PC app settings.

Latency

An endless subject of latency is often asked whenever PC VR streaming is discussed. We did a fairly good job at keeping the delay of streamed image at bay but we found out a way to squeeze even more performance.

Stream latency
If you have an Nvidia graphics card you can expect a quicker image response. Thanks to the optimizations that we made you should expect latency reduced by additional 5 to 10 ms.

The image below, shows the sampled latency before VRidge optimizations.

Click image to enlarge

Next image shows the sampled latency after new changes got applied.

Click image to enlarge

Rendered at 1080p@60FPS, encoded with GTX 970 @ 17 Mbps, transported with 5 GHz Wi-Fi.

Pictured latency is measured as a time between first and last event of this process:
  1. Getting fresh head and controller pose data from device sensor. Usually sampled at 200 Hz, depends on mobile device.
  2. Sending sensor data to your PC.
  3. Submitting sensor data to SteamVR.
  4. Rendering game frame with the tracking data from phone.
  5. Encoding pixels by NVENC with H264 or HEVC.
  6. Sending encoded frame back to your mobile device.
  7. Decoding frame from H264 or HEVC to GPU-understandable RGB texture.
  8. Binding texture to target VR environment.
At this point the frame is out of our control, it is going to be displayed ASAP with reprojection appropriate to target VR runtime.

In 2.6's NVENC update we improved CPU, GPU and memory transfer delays that were occurring between steps 4 and 6 which should result in 7-8ms better latency.

Controller latency
Additionally to the stream speed improvements, we have used better prediction algorithms for rendering and sampling of the controllers.

With this, you can expect a much faster response whenever you'll move your hand in virtual reality - no matter if you are using VRidge Controller, Oculus Quest Touch or Daydream View 3-DOF controller. All of them should benefit from this new improvement.

This change brings the controllers latency to near native level, making a pleasant gameplay experience. With newly released Half Life: Alyx - Quest users have an awesome gaming time ahead of them :)

Stability

Some of VRidge users had issues with artifacting. It could happen from time to time or happen constantly depending on the user hardware configuration. Especially on 2.4 GHz WiFi networks.

With this upgraded release we re introducing an error correction system. It will compensate for lost packets during the stream allowing for more stable video streaming.

This should allow VRidge to push for higher bitrates as the stream won't get broken with even the smallest packet drop. It will increase the picture quality and get rid of ugly artifacts.

On default, VRidge stream will now add 5% additional data with each frame for the error correction. The system is adaptive, when it will discover that the stream is losing more data than usual, it will adjust the amount of error correction data to provide the best experience possible in granted conditions. If you want to manually tinker with this system, you can override all values as described in our previous blog post (link).

In addition to that, VRidge should now detect lost frames much faster than before to make the error correction system response quicker. With this, you should expect basically no image artifacts during your playthroughs.

If you have Nvidia video card, we did some encoder tweaks as well which should also provide additional improvements in this area.



What's next?
We still have before mentioned Part 2 of this update in preparation. It is related to Daydream cancellation and it will be a game changer for many VRidge users that use regular phones with it. The Beta should be ready soon - we'll let you know about it as soon as it will be published.

We hope that VRidge Streaming Enhanced update will greatly improve your experience. If you like the new changes, let us know about it. If you don't, also provide us feedback so we could fix any issues that might have appeared. Your voice can always be heard at support@riftcat.com

If you like VRidge and the new update - spread the news. Our software lives thanks to your engagement in VRidge community. Any social media posts, articles, videos with VRidge help us tremendously.

Have fun in VR!

15 comments:

  1. Awesome, thanks for your hard work!

    ReplyDelete
  2. Immediately crashes as soon as i try to open the app in GearVR

    ReplyDelete
    Replies
    1. Actually this whole update is garbage! It worked fine before, now the new app in gear VR won't even open and when i do a work around and use it in cardboard the video starts lagging out HARD about 1 minute into it. Drops to like 5fps. It worked fine! Just let me use the old version, and that means rolling back the gearvr app too.

      Delete
    2. Work arounds using cardboard never worked very well for me in the first place, but they've pushed a hotfix through to the gear vr version that fixes the crash. 'Bout to test it.

      Delete
    3. same here. Any fix to that yet?

      Delete
  3. In vr chat game oculus go cannot use the controller to click the main menu

    ReplyDelete
  4. Thanks.. stay safe & keep healthy.

    ReplyDelete
  5. Glad to know that you still support Daydream, thanks!

    ReplyDelete
  6. Can you fix the floor glitch

    ReplyDelete
  7. Can you fix the floor glitch for me on oculus go

    ReplyDelete
  8. Add support for Radeon Cards TOO, radeon now have a very god capture mode, and can improve a loot

    ReplyDelete
  9. Wow!! Can't wait to test the new update :D:D:D:D.. HOpe I can play table tennis now :D:D. Thanks for your hardwork! Stay safe :)

    ReplyDelete
  10. it's a great update. And thanks for daydream support !
    Is there a way to see a second Daydream controller supported in the Riftcat Client ? (i have 2 daydream controllers and actually use Driver4VR to do that (right hand controller with riftcat/native daydream and left one by Driver4VR but Driver4VR Offset calibration is not very ... easy ..)
    Keep up the good work !

    ReplyDelete