polygraphene / ALVR

ALVR is an open source remote VR display for Gear VR and Oculus Go. With it, you can play SteamVR games in your standalone headset.
MIT License
1.82k stars 248 forks source link

Force 60 fps on the GO #156

Closed penkamaster closed 2 years ago

penkamaster commented 6 years ago

In previous version where the 72 fps was not implemented I was having better headtracking.

Can we have a option to force 60 fps.

Thank you.

polygraphene commented 6 years ago

I don't think 72fps cause bad headtracking. Newer version contains many improvement or fix as well as 72fps support. I want to know the exact cause of the issue before implement that feature.

penkamaster commented 6 years ago

Hi Polygraphene, Sorry, I express myself in a wrong way, the headtracking is perfect on both versions. It's not the headtracking what is jerky on the 72 fps version, is the streaming itself. I have compiled myself the client (thanks to you :) ) and forced the 60fps on the GO, and I can confirm that the streaming smoothness is way better on the forced 60 fps version.

In fact, the streaming smoothness on the 60 fps is nearly perfect (I only have some jerckiness where there is a gpu load and the game itself is not smooth ), while with the 72 fps version is allways jercky no matter the gpu load.

I can see now why GO users have been complaining about the quality of the streaming.

Thank you.

gigabulloba commented 6 years ago

Same issue here. Head tracking is fine. The game rendered on my monitor is nice and smooth, but character movement etc. in the headset is jerky. It looks almost like the game is running sub 30 fps, although I suspect it's something with the encoding.

@penkamaster Thanks. I downloaded your build from the other thread and it's a night and day difference with the forced 60 fps version. Movement is much less choppy now. It's a huge improvement.

polygraphene commented 6 years ago

Thank you! I don't know the cause of that, but it should be a bug.

If you change "-fps 60" to "-fps 72" on https://github.com/polygraphene/ALVR/blob/master/ALVR/ServerConfig.cs#L144 , does it make difference?

cmtec commented 6 years ago

I as well confirm that the very noticable microstutter is gone when using @penkamaster 60fps version. I would say its perfect smooth now and all stutter I have are from over loading the GPU.

penkamaster commented 6 years ago

Hi Polygraphene, I've changed "-fps 60" to "-fps 72" on https://github.com/polygraphene/ALVR/blob/master/ALVR/ServerConfig.cs#L144 and build ALVR (not the driver), and the 60 fps version keeps working better.

saintkamus commented 6 years ago

@penkamaster Headtracking was never the problem. But your build completely fixes the in game FPS issue that was present in ALVR since I started using it!

I believe the issue is that the nVidia hardware is incapable of encoding at more than 60 FPS in real time (regardless of resolution)

While doing offline encoding, we know that it can go much higher than 60 FPS, but real time encoding is a whole different beast, and it's simply not designed to go higher than 60Hz.

timorsohc commented 6 years ago

👍 Yes! ALVR run so smooth now in my Oculus Go; with @penkamaster 60fps version. Amazing! 👍

I wish @polygraphene would update the official client version in the Oculus store apps with this minor correction (maybe as v2.3.1?). Since my kids play with this Oculus Go recently, and they not too familiar with run sideload apps via "unknown resource" folder :)

polygraphene commented 6 years ago

@timorsohc Okay. I will add in next version.

It is difficult to reproduce the issue for my Gear VR. Can anyone send a logcat and driver.log on the issue?

drowhunter commented 6 years ago

where is the link to penkamaster 60fps version?

cmtec commented 6 years ago

@drowhunter https://github.com/polygraphene/ALVR/issues/116

polygraphene commented 5 years ago

I have not yet done 60Hz version, but I found a terrible flaw about 72Hz support. Client v2.3.1 may mitigate the issue.

Commit: https://github.com/polygraphene/ALVRClient/commit/e2ba009e925562a20e9cbc25cd8383a256f9cfdc#diff-ef46c8fcd317dfe078236267c75b6ab6

cmtec commented 5 years ago

Microstutter is still present in v2.3.1 (At least for me running Elite Dangerous)

EDIT: As an easy way to verify this:

polygraphene commented 5 years ago

Thank you for testing. I see. I want to check the logcat. Can you send with the instruction?

cmtec commented 5 years ago

Here you go: logcat.txt

cmtec commented 5 years ago

@polygraphene : I might have been wrong to say v2.3.1 not solving the core issue. After some more investigation I have concluded that now when running 72fps it might be the GPU/driver (or maybe even steamvr version combination) that makes the stutter. However i would like to have an option to force ALVR to 60fps to ease the strain on the GPU.

cmtec commented 5 years ago

Any updated on this option request?