Thursday, May 12, 2016

Dev update #10


Summary:
  • SteamVR driver update (fixes to reduce image flickering, apps crashing and some frame skips).
  • 2560x1440 is the new render resolution for SteamVR. 2560x1440 stream option available in UI.
  • Intel Quick Sync encoding support for Intel HD Graphics users. Mobile app update required.
  • Random logouts fixed (probably).
  • New beta invites will be limited starting next week.
Desktop client version is 0.5.4.2, mobile app version is 0.8.5.

SteamVR driver update

With last update we've rewritten most of our SteamVR driver so it wouldn't rely on old Oculus components. This created some bugs. Depending on GPU load and power, games could flicker, fail to render every other frame and sometimes crash during scene loading. These issues should be fixed with this update. We are still trying to find cause of frame skips in some scenarios.

1440p render resolution for SteamVR

Last update we reduced SteamVR resolution from 2364x1461 to 1920x1080. Now we are setting render resolution to 2560x1440. This should give higher quality even on 1080p phones (less aliasing). Keep in mind that stream resolution is still configurable through stream quality options. We will eventually tie render resolution to stream resolution but currently rendering will be hardcoded to 1440p.

Elite: Dangerous looks a lot nicer now


We're also adding Very High preset for stream quality with 2560x1440 @ 60 FPS. That's 80% more pixels on your screen and the difference is quite noticeable, especially with small UI elements. 

Intel Quick Sync encoding for Intel HD Graphics (Intel Core CPUs)

There are a lot of you with laptops running Intel HD Graphics integrated GPUs. Those chips (starting with Intel HD Graphics 2000+ from 2011) also have video encoders built-in. We are now supporting Intel Quick Sync encoding. 

It's not laptop-only change. If you have, for example, GeForce 560 Ti which is not supported, but you also have Intel Core with Quick Sync, you should be able to run VRidge sucessfuly now. Please keep in mind that your motherboard needs to support using integrated graphics too. 

We tested Intel HD Graphics 4000 at up to 2560x1440p and encoding performance was comparable to GPU encoders.

Intel HD Graphics will be used as encoder only. Start the game on your best graphics processing unit (you can start game on discrete video card and use Quick Sync encoding). See this article if you don't know how to force using discrete GPU on your laptop.

Minor fixes (probably, confirmation needed):

We tried to fix some of the minor annoyances. Let us know if you experience any of problems below after this update:
  • Random logouts in less than 60 minutes after starting the game.
  • "Remember me" option forgetting your credentials if you exited RiftCat after less than 60 minutes since starting last game.
  • Freezes during phone pairing process. Confirmed - not fixed
  • Laptop users will see instructions on how to start games on discrete GPUs if VRidge notices game running on integrated graphics.

Limiting VRidge beta access for new users

Next week we are going to switch beta into limited mode for new users (if you are already in beta it doesn't affect you). 

Why?

VRidge was posted to tens of big news sites. We are currently trying to fix problems but we had to respond to hundreds of e-mails and spent a lot of time and money to scale up our infrastructure to handle massive incoming traffic spike (you might have noticed 2 downtimes lasting 15-20 minutes).


+500% traffic increase on Monday

We are very grateful for media coverage but now we understand the reasons why betas are either closed or open but very short (stress tests). We want to focus on development and bugfixing now. We have enough users now to test pretty much every configuration on the planet.

When we woke up on Monday and saw our server stats we felt like this.

We know about some annoying bugs (Zenfone 2, Galaxy S4, some Radeons). We are still investigating it.

We need to make it clear somewhere during installation that VRidge is designed to run native VR games only. We also need to make system requirements more visible because large majority of error reports (and bad reviews) we are getting is coming from people trying to use VRidge on unsupported hardware/OS. It's kinda our fault because we could have made information above more visible.

76 comments:

  1. Hello, thank you for the update. I've been using this for a long time and now I started to develop a game in unity(for steamvr). I bought a razer hydra that works flawlessly with vridge, thank you very much for that. But now I am aiming to get 3d head tracking, but my question is: if I get one of those pcb or 3 ir led, is it going to work for steamvr? Showing as lighthouse or anything. Also do you have any information on USB 2.0 vs 3.0 with 1080p? Again, thank you for your hardwork here, if you need someone to test something for you just ask me.

    ReplyDelete
    Replies
    1. 1. No way currently to integrate external 3D tracking but we have plans to open our API to receive 3rd party positional/rotational data. There are many use cases for that scenario.
      2. USB 2.0 and 3.0 shouldn't make a lot of difference.

      Delete
    2. What kind of interprocess communication method would you suggest? Memory-mapped-files, named pipes, tcp server?

      Delete
    3. Actually we could make simple DLL you could call into to provide required data. This would be cleaner solution.

      Alright, I'm gonna stop spamming you now. We'll think this through. :D

      Delete
    4. Kogi, can I have your email? Or maybe you can email me?
      lucas3088@gmail.com

      Delete
    5. @kogi would it be possible to use the phones rear camera to include tracking? Maybe like, take a photo of center?

      Delete
    6. @Brett Bryant
      Real-time video processing @ Android side would cause very high CPU/GPU load, which would overheat devices pretty fast.

      We are currently looking into FreeTrack to use external PC webcam as tracker.

      Delete
  2. Nice work and thanks for the update. Now I am going to play E:D... :-)
    juhuu...

    ReplyDelete
    Replies
    1. Ohh Yeah. It works nice with LG G4. Config is 2560x1440px 30fps 19mbps and Media Foundation encoder. Except that the LG will go to be really very hot. But tomorrow I will mount some cooling on it.Hope that help.

      Delete
  3. Wow you guys are amazing! Great timing with project cars releasing a major new vr update with native vive support

    ReplyDelete
    Replies
    1. Please let us know how it works. It was released at the same time and we didn't have time to test it properly. Every game can run a little bit differently so sometimes tweaks are needed.

      Delete
    2. As i said below, i'm getting weird behaviour. It seems to stop updating the tracking as soon as I launch it. If I move the screen i can see it shaking slightly and it updates only when i stop moving. I can see the game on the virtual screen redrawing fine

      Delete
    3. I managed to fix it, it appears i had to rerun the room setup. steam vr seem to think i was in the roof. changing that fixes the crashes/ freezes and other wierd behaviour

      Delete
    4. project cars works great. the floating HUD it puts in the car has a bit of double vision but that might just be my HMD setup, however the rest of the game looks great and works well

      Delete
  4. Wow you guys are amazing! Great timing with project cars releasing a major new vr update with native vive support

    ReplyDelete
  5. 1440 stream option doesnt seem to work for me, my mobile(Nexus 6P) just sits on awaiting VR game but it does control the game it self with a black screen. tested with Coffee without words.

    ReplyDelete
    Replies
    1. We've got one more user reporting 1440p playback error with Nexus 6P. Could you send vridge.log from Program Files x86/RiftCat/logs to team@riftcat.com. Also please include your mobile OS version (probably 6.0.1, right?).

      Delete
    2. Got them! For everyone else reading this comment chain. The problem is not Nexus 6P but Radeon encoder failing to process frames at 1440p. We'll try to figure it out.

      Delete
    3. Issues here with the update, Gunjack was working very well a few days ago with the Nexus 6p @ 1920x1080 with a 750ti, now I'm at a bit of a loss as to whats happening, worked once at mid settings from riftcat with lots of lag, now refuses to connect to vridge, both updated desk and android app?

      Delete
    4. Also, great work with what you are achieving, I'm amazed with your progress in a short space of time, thank you all for your work.

      Matt.

      Delete
    5. @Matt
      That's odd. A person on our facebook wall commented few hours ago that Gunjack was working fine:
      https://www.facebook.com/RiftCat/posts/575460679298494?comment_id=578741978970364

      Maybe it's some kind of temporary error (maybe PC restart will solve the problem).

      And thank you for the warm words! :)

      Delete
  6. Intel Quick Sync only working with fullscreen games, but amazing work anyway.

    -Intel Graphics 4000
    -Moto X 2014 - Android 6

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete

  8. I tried the new version and have disappeared flickers .

    I have seen the new codec, and have enabled the BIOS HD 4600 my i5 4690K coding work to free the R9 390x and works much better than with the codec to AMD .

    Is there any way to know the FPS to which the video is transferred to the mobile ? I have a feeling that does not reach 60 FPS.

    On the other hand I have made the decision to test 1440p Elite Dangerous , but fluency is quite low , I feel that reach the 60 FPS.

    Thank you for your work.

    ReplyDelete
    Replies
    1. No render FPS is displayed currently. You might want to try different render timing modes (tap more at the connection screen). They usually don't change anything but some devices should behave differently (according to docs) with different timing settings.

      Delete

  9. Finally , I forgot to comment . I think the motion sensor should be softer ...

    I tried the option in TrinusVR Tracker and does not micro - jumps as in the case of VRidge .

    ReplyDelete
  10. Thanks for the update, was looking forward to trying 1440p but am getting OutOfMemoryException just after the stream starts. Vridge ram usage seems to shoot up to about 1.3 gb before the crash according to task manager. Using SteamVR with Windows 7 (NVENC), 780 ti and Nexus 6p. Have sent through crash report.

    ReplyDelete
    Replies
    1. Welp, that shouldn't happen. I think we fixed all known memory leaks but I'm gonna do some more testing.

      Delete
  11. Hi! I have a problem since the first versión of riftcat. Im on note 4 and the tracking goes to the right slowly when the phone stays without movement. Project cars its unplayable because im not the exorcist girl. ;)

    ReplyDelete
    Replies
    1. The issue you've described is called "drifting" and it's fairly difficult problem to fix. It may happen with different intensity dependant on your phone sensors. Currently you can recenter screen by holding alt+ctrl+shift+R buttons. We'll try to figure something out in the future.

      Delete
  12. Ok. Thanks for answer. I have try a Samsung s5 now and dont have this problem . Probably a Note 4 problem.

    ReplyDelete
    Replies
    1. https://www.reddit.com/r/GoogleCardboard/comments/3fvvx6/samsung_galaxy_users_experiencing_drift/ctsrd12

      Check this out. Someone with Note 4 reported improvements after recalibrating gyro.

      Delete
    2. Thanks!.The gyroscope was calibra ted previously and the problem was not solved . Solved for me calibrar ing compass!

      Delete
  13. Can't stream higher than 1920x1080 with Galaxy S6, windows and android apps all updated,Radeon HD7970 with driver updated. Stay on screen "Awaiting VR game stream" forever. Tryied both "Media Foundation" and "NVENC" encoders, same problem, only works in 1920x1080 with a lot of blurry pixels.

    And SteamVR resolution doesn't look better to me with new update, still look more like 800x600 than 1440, not even 1080p

    ReplyDelete
    Replies
    1. And I use windows10 64bit.

      Delete
    2. +1 S6 here too, experiencing same problems with E.D. Blurry, cant go higher than 1080. "Awaiting VR Game Stream"

      Delete
    3. JH can you tell me what's your OS and graphic card please?

      Delete
    4. @Aoris:
      According to wiki and specs of the card with same video chip (https://www.amd.com/Documents/AMD-Radeon-HD-8000M-Series-GPU-Specs.pdf) your gpu supports maximum of 1080p@60FPS.
      Lowering framerate currently won't allow 1440p@30FPS.
      NVENC shouldn't even work (NVIDIA only). If available, try Intel Quick Sync. It might be more powerful than first-gen AMD Video Coding Engine.

      And about those blurry pixels - could you make a screenshot on your mobile with stats open (tap top-left part of the screen)?

      @JH
      Please provide OS and video card specs too.

      Delete
    5. @Kogi / Aoris - Win10 64bit / R9 390

      Delete
    6. @JH
      Probably one of those unknown errors with "Something went wrong" message. I think we really need to add direct AMD encoder implementation because some scenarios just don't make sense with Media Foundation's encoder. :/

      You can send us vridge.log from Riftcat/logs folder to team@riftcat.com. Maybe it's easily fixable but I've seen most random errors with Media Foundation + AMD. :(

      Delete
    7. Ill send a log when i get home. thx for the reply

      Delete
  14. What do I need to use Intel Quick Sync? An Intel CPU or Intel GPU?

    Here's the screenshot of Elite Dangerous on SteamVR: http://img15.hostingpics.net/pics/119776Screenshot20160514025850.png Texts are unreadable :/

    ReplyDelete
    Replies
    1. Intel HD Graphics 2000+ (integrated in all Intel Core CPUs post 2011). You also need compatible motherboard that can use CPU's graphics unit.

      Try setting stream resolution higher in stream quality options (there's a button at the bottom of the screen you get after connecting your smartphone in desktop client). It seems that the image was streamed in lower res than 1440p.

      Delete
    2. Unfortunatly I have an AMD FX-8350. But I tried other games on steamVR like "InMind VR" and it's ok (even it will be better with streaming higher than 1080p) so only Elite Dangerous look like it's played in 800x600 and not like your 1080p screenshot. Maybe it's a bug that has nothing to do with your app

      Delete
    3. Not all Intel Core CPUs have a graphic unit. The Extreme Edition models (like my i7-5820k) have no integrated graphic.

      Delete
  15. Hi, i'm using LG G3 Cat.6 and have heavy artifacts.
    Surprisingly, i can not get out of the noise with every each setting, from the highest(1080p, 60 fps, 23mbps), to the lowest(1024x768, 30 fps, 1mbps).
    Stat in Vridge app showed almost same frame lost of decoder and big fluctuation of fps in each setting, except just the higher one is hotter than lower.
    Also changing other options such as NVENC or snapdragon friendly doesn't have any effects too.
    My desktop computer has gtx 960 x2 (sli) and i5 - 6600k.
    (Sorry fo my short English)

    ReplyDelete
    Replies
    1. High frame loss @ decoder is usually caused by Android not keeping up with incoming video stream.

      Is it possible that you have some kind of battery optimization program or profile active, which could limit performance? I've seen a lot of users with G3 having successful runs. :/

      Delete
    2. Yes, you're right! Another G3 cat.6 showed perfect performance(no frame lost, decoder latency, etc...)with nearly initial setting, just trying to power off itself because of heat, though.

      However my phone still has a problem after applying recommended settings(no clean master, battery optimization profile off).

      So I did factory data reset, download Vridge, run it with the hope, but noting is changed. Then, I did a benchmark on it, but it accomplished more higher score than other cat.6s.

      Does android 6.0, Marshmallow have a problem with Vridge? The G3 cat.6 that have good result is Lolipop. Or, it may need to repair?

      Delete
    3. No 6.0-specific problems that we know of. Most of our users are running 6.0.

      However, it is possible that G3 cat. 6 behaves differently with Marshmallow (higher CPU throttling to keep heat low or something else).

      We keep improving our Android performance every week.
      We'll also add pre-recorded stream loops designed to diagnose decoding performance on certain devices because there are some models performing way below their capabilities, like this one G3 of yours.

      Delete
  16. Could you include protocols Freetrack / OpenTrack to be 6 DOF?

    With these tools you could get a total headtracking.

    ReplyDelete
    Replies
    1. Yes, we did some research with FreeTrack output and it seems very easy to integrate. We will do it.

      Delete
    2. OMG! That's a good new! It would be interesting that worked both, OpenTrack and Freetrack. I am very familiar with OpenTrack , it is what I use for Elite Dangerous.

      Will it be better in the future the quality and speed of streaming? Do you plan to optimize more?

      With TrinusVR Elite (1280x768 and 2x supersampling ) , I have better definition and performance, than using 1400P with StreamVR (2x supersampling) in VRidge. But your application seems much more interesting.

      This is an example:

      http://i.imgur.com/M77Bemh.jpg

      Delete
    3. Yes, there a lot of improvements coming to streaming. We still have few tricks up our sleeve to reduce bandwidth by 50+%, we want to add error concealment techniques to prevent packet loss from totally destroying a picture group and cuasing the floaty-blocky pixel soup thing.

      Also, E:D started in SteamVR mode has its own issues with blurry text and aliasing - https://www.reddit.com/r/Vive/wiki/elitedangerous.

      Delete

    4. Many thanks for your work.

      I connect via USB 2.0 to my Meizu MX5 , and do not get to capture 60FPS ( approximately 45/50 ) .

      My configuration is:

      Streaming 1440p .
      12Mb quality .
      I use QuickSync ( HD4600 ) .
      My main graph is a R9 390X .
      In the game I get constant 60FPS in SteamVR mode.

      Could it be problem Helio X10 processor Mediatek my mobile ?

      Delete
    5. I have another user reporting huge unplayable lag with Helio X10 (Redmi note 2). It was a lot worse than in your case. Basically it dropped most of the frames (before decoding them). If frames are dropped before decoding all following frames (until next keyframe) will be broken too. In your case it's just rendering not keeping up. Tap "more" in top right corner of connection screen and try different render timing modes (2 users confirmed better performance with Immediate).

      Delete
    6. Hi again:


      I've been doing tests to see the frame rate , and get the best experience . But I have not noticed any difference .

      Could you help me understand these statistics?

      MEDIUM:
      http://i.imgur.com/hpvV3AT.jpg

      HIGH:
      http://i.imgur.com/LHSRvJh.jpg

      VERY HIGH:
      http://i.imgur.com/5r0lT1q.jpg

      HIGH 1440P:
      http://i.imgur.com/89MQV26.jpg

      I have lost frames , which have lost are only the beginning .

      What is the best Frames Decoded?

      Delete
    7. Frames decoded should stay @50-60 per sec (your FPS will be limited by this value).

      The most important thing is resolution. Our presets currently choose the safest resolution that is reported by phone as its reasonable maximum. This is often incorrect because phones for some reasons report capabilities lower than real.

      You can see a difference between
      VERY HIGH and HIGH 1440P because "VERY HIGH" went with lower resolution (as reported by your phone). After you changed it to 1440P, even HIGH preset had more definition.

      The best settings you can choose is Very High, then override resolution to 1440p.

      Delete
    8. This comment has been removed by the author.

      Delete

    9. So may I have shuttering ?

      I use USB 2.0 because my phone does not support 3.0. My WiFi is 2.4Ghz ... Is it possible that the USB 2.0 is the bottleneck ? Or missing Codec optimization ?

      Delete
    10. Probably codec problem. We are still optimizing video encoding and transfer process. 2.0 shouldn't be a problem.

      Delete
  17. don't think there is much difference between using USB 2&3 from what I read before.

    ReplyDelete
  18. Hi guys,
    The games from the Riftcat app launch but when i pack games from the unreal engine 4 they dont launch and it keeps showing blackscreen, even the showdown demo that you guys showcased, doesnt work. It starts and runs on desktop but nothing on the phone.
    My Config is
    i7 6700hq
    Nvidia 960M 4gb version
    Windows 10
    All updated to latest versions.
    and using Unreal engine 4.11. with the default Oculus Plugin.

    ReplyDelete
    Replies

    1. ======================
      SysInfo
      ======================
      Region info:
      Name: en-US
      Display Name: English (United States)
      English Name: English (United States)
      OS: Microsoft Windows NT 10.0.10586.0
      CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
      GPU: NVIDIA GeForce GTX 960M (GeForce GTX 960M) | Intel(R) HD Graphics 530 (Intel(R) HD Graphics Family) |

      ======================
      HW encoders
      ======================
      Listing h264
      Intel® Quick Sync Video H.264 Encoder MFT
      NVIDIA H.264 Encoder MFT

      Listing hevc
      Intel® Hardware H265 Encoder MFT

      Listing hevc_es
      None found

      Listing h265
      None found


      ======================
      All encoders
      ======================
      Listing h264
      Intel® Quick Sync Video H.264 Encoder MFT
      NVIDIA H.264 Encoder MFT
      H264 Encoder MFT

      Listing hevc
      Intel® Hardware H265 Encoder MFT
      H265 Encoder MFT

      Listing hevc_es
      None found

      Listing h265
      None found
      here is the log

      Delete
    2. Make sure the game starts on discrete gpu - https://riftcat.zendesk.com/hc/en-us/articles/207602859-Black-screen-reconnecting-with-Geforce-M-Series-laptop

      If it still fails, send logs (Riftcat/logs folder) to team@riftcat.com.

      Delete
  19. Hi guys,

    since the latest update (#10) the streaming resolution on my phone is lower than it was before when set to full HD. I tried setting the new 1440p res but it doesn't work properly. At first I get a delayed picture (which looks somehow like the quality I had before when using Full HD, but with ~3 seconds of delay) and after ~15 seconds the Riftcat app on the computer crashes. In the logfile it's telling me that it was streaming at 1920*1080 although it was set to a higher res.
    I guess setting to Full HD allowed me to play in 2364x1461 before the update, which worked really great. But now Full HD looks somehow pixelated.
    I'm using NVENC in combination with Windows 7 x64 on an I5 3570K, 16GB Ram and a GTX680 4GB. My phone is a Galaxy Note 4.




    ReplyDelete
    Replies
    1. We found out that non-Maxwell (pre GTX 800 series, excluding GTX 750 which is Maxwell) have problems keeping up 1440p @ 60 FPS.

      Currently it buffers frames (starts getting more and more behind) and runs out of memory after few seconds, resulting it crash.

      Tomorrow's update is going to fix the crash (by letting it run @ ~50 FPS, 1440p).

      Delete
    2. Thanks a lot. You guys are great.

      I'm still wondering if there is a way to slightly reduce the resolution to achieve the same effect without dropping the framerate. I'm quite sure that the picture in the full HD setting was less pixelated earlier than it is now. Maybe it was running at the 2364x1461 res which was kicked out in the last update. If implementing this option is a big deal don't waste your time. I am looking forward to buy a Pascal GPU anyway. =)

      Delete
    3. We plan to add separate resolution picker for rendering and streaming. Rendering @ 1440p and streaming @ 1080p would probably match your previous results.

      Delete
  20. so sad =(

    error log: http://pastebin.com/kUkjpTm3

    ReplyDelete
    Replies
    1. Unfortunately 6800M is not enough to run VRidge. :(

      https://riftcat.com/vridge/requirements

      Delete
  21. This comment has been removed by the author.

    ReplyDelete
  22. Running a gtx 1080 on Windows 10 64bit using a galaxy s5.
    What would be the best settings for for running at 1440p 60hz over wifi 5ghz?
    Thanks and keep up the great work. I love this app!

    ReplyDelete
    Replies
    1. If there isn't much intereference/router isn't too far away from your phone, then you should be fine with all maxed out settings. Althought if game is demanding on the GPU you might want to lower some graphical settings in the game.

      Delete
  23. Nah Gpu ain't no problem ;) all good I found a sweet spot at 19mbps which was posted around these parts by someone else.... Now my problem is over heating after 10mins of use :(
    Can't wait for the galaxy s8.

    ReplyDelete