RiftCat 2.7 Beta - Reprojection for Everyone
This was originally planned to be a part 2 of the VRidge 2.6 Streaming Enhanced update but we had to postpone it due to various reasons. Now it's here as its own update!
This update will improve head turning motions on most mobile phones (even those not designed with VR in mind) by utilizing reprojection (also known as TimeWarp in Oculus products).
To test the Beta features, learn how to join Beta channels by reading THIS guide.
Reprojection and reasons behind it.
As some of you might have read, Google killed another project of theirs which is Daydream. This means than there is a constantly rising chance the next mobile devices generation will not be able to launch Daydream apps on which VRidge is based a lot.
We could not allow our users to lose the ability to play PC VR games with their Android devices so we created our own reprojection within VRidge so capable devices can use it even without being Daydream-certified.
What this means is that if your mobile phone supports some specific GPU capabilities it will be able to utilize reprojection - it will provide a completely smooth experience when moving your head in your Cardboard device!
VRidge will now ask for the camera and file read/write privileges on your device (to be able to read and store your VR viewer QR code) as previously Daydream SDK handled that.
Will it work on my device?
As of this Beta release, this feature will work only for Android devices (iOS is in progress). We will deploy support for next devices to the Beta channel as soon as they'll be ready.
Our reprojection implementation has 3 modes, best mode will be selected automatically, depending on GPU capabilities, OS version and so on. Those levels are:
- Synchronous reprojection - Most simple implementation. All rendering work is done on one GPU thread. After app finishes frame, that frame is being warped to screen with offset to cover difference between pc render orientation and current mobile orientation. In this mode frames should be placed correctly, however motion might not feel silky smooth.
- Asynchronous reprojection - This mode separates app rendering loop from VR rendering loop. Because of that we can achieve stable framerate and smooth motion, even if some frames are dropped in transport from PC.
- Asynchronous reprojection with direct rendering - Just like in previous mode, this one preserves constant framerate and smooth motion. However because of rendering directly to screen, latency can be significantly lowered. Typically when frame is rendered, it goes to Android Surface Flinger, which is responsible for composing final image that is displayed on the screen. Because of that composing step and double buffering, in default rendering mode frame is displayed 1-2 vertical syncs after it is rendered. That means about 17-33 milliseconds of latency on standard 60Hz display. With direct mode we are able to render directly to front buffer of display. That allows to skip all composing steps for VR layer, significantly lowering latency. Our current implementation works at 8ms latency on 60Hz display. This mode however requires a lot of modern GPU extensions and is mainly designed for newer phones (we mainly tested it on Samsung Galaxy S20, Samsung Note 10 and Razer Phone).
To check out with which mode your reprojection is working (or not working at all), launch VRidge (Diagnostics). It will display the appropriate information.
How to help us with testing?
When you'll test this Beta release and encounter any issues then please send us detailed logcat to support@riftcat.com with a description of your phone model. You can read about logcat here.
If your issue is directly visible on the screen, then simply send us the screenshots. Any additional info is highly valuable.
Your personal opinion also interests us! What do you think about the update? Give us all your thoughts.
This is great news!
ReplyDeleteAny chance this will work with the Samsung Exynos 8895 with Mali-G71 as the GPU? I've got the 4K Skyworth V901 headset and I'd love to use the RiftCat wiit that!
Do you think you can make it work on a Samsung Galaxy A20 i just got it and would really appreciate it if it would work on it.
ReplyDeleteEXCELLENT!
ReplyDeleteEXCELLENT!
ReplyDeleteСделаете поддержку для мобильных видеокарт (nvidia geforce 610m), а то программный кодек не хочет корректно работать
ReplyDeleteВыбрось этот хлам
DeleteI have gotten it to work on my oculus go. But its just alittle wonky with the mobile phone controller app.
ReplyDeleteI just bought VRidge a few days ago, and have spent inordinate amounts of time, tweaking and testing to get VR as smooth as possible using a VRBox headset and my Samsung Note 10 Plus phone. I was pleasantly surprised to see this beta launch with reprojection, as my biggest issue I couldn't fix was the smoothness of head tracking.
ReplyDeleteI just started up the beta, and holy crap it's night and day difference. It's simply amazing with this phone and my rig in Elite Dangerous. Thanks guys for the amazing work.. this, is, awesome!
Excellent work!
ReplyDeleteEs wird von Update zu Update immer stabiler und exakter. Weiter so! 👍🏻👍🏻👍🏻
ReplyDeleteIt's working as "Asynchronous reprojection with direct rendering" on the zenfone max pro m1, and it is much smoother than before.
ReplyDeleteIt's an amazing update, but went from minimal "drift" issues to excessive amounts. It almost rarely stays centered and I have to recenter every 30 seconds to a minute. It offsets by nearly 30 degrees regularly. Any ideas?
ReplyDeleteI have the same problem on Xiaomi Mi 9, after few head turns drifts way to the left.
DeleteI have the desktop and mobile clients both set to receive beta updates but both are still on version 2.6.3 and not downloading anything. What do I need to do to get the update?
ReplyDeleteOpted to the Beta on my Samsung A50, all I'm getting is a black screen with the seperation bar (Eyes). It links with the Desktop app but nothing is visible.
ReplyDeleteExcellent post. Thank you so much.
ReplyDeletehospital management system
Wow! This could be one of the most beneficial blogs we’ve ever come across on the subject. Basically fantastic post! I’m also an expert in this topic so I can understand your effort.
ReplyDeletereview finds
The difference in latency and head tracking is night and day between this gearvr 2.6.3 and android 2.7.1 beta. I'm begging you please give the last of us gearvr users the 2.7.1 beta. <3
ReplyDeleteyou are doing really great work please share the Galaxy a20 Price in Pakistan
ReplyDeleteI have used beta versions before and I am enrolled into the beta program, but now I have 2.6.3 in both stable and beta channels, how come?
ReplyDeleteGreat article with a lot of useful tips.
ReplyDeleteprofessional web design services