cancel
Showing results for 
Search instead for 
Did you mean: 

[Oculus Link] Encoder : switch to CPU instead of GPU

ben.mnd
Protege

Hello, 

 

As title mentions, is there any way to chose encoder for Oculus Link (wired) ?

Right now it's GPU bound, but for very GPU intensive games like Elite, I have plenty of unused CPU power, while GPU sitting at 80-90% constantly.

 

Sometimes OVRserver service even trips out when lacking processing bandwidth, ending in crashing Oculus Dash. So unloading to CPU would be really appreciated, especially for us who got solid ones, like i9.

 

(I know that encoder is on a separate GPU hardware stack than rendering, but it stills eats some processing power)

 

Any info ?

Thanks

 

 

6 REPLIES 6

PITTCANNA
Visionary

It will always be gpu bound, GPU and CPU encode data very differently.  Enconding the gpu render is a very minimal effect on the streaming through the link cable.

VR in general is gpu reliant, you are not going to get away from that.  The best thing is to lock the enconding bandwidth in the oculus debug tool to like 150 to 200 mb/s.

Encoding can be made through CPU, it's just a matter of development choice. Usually GPU bound because most graphic cards offer native encoders, taking away the need from the dev to purchase an encoder license. This is an economical choice, but not the only possibility.

 

edit : Thanks for the advices though 🙂

Not in the terms of the specific oculus encoding.  For oculus in general choosing a pci express lane to specify the encoding gets messy.

 

Just because you think it will be easy, and economical, doesn't mean that it would easy from programing perspective.


For oculus in general choosing a pci express lane to specify the encoding gets messy.

You got a point here 🙂

I'll wait for an official answer (hoping);



 

The officail answer will be the same as my answer.  The oculus app was not written with the ability to split the encoding load due to all the different configurations there will be.  Also gpu usage is generally fairly high from a rendering perspective.  Whats your gpu?  Because for the gpu usage not to be at 90-95% you would need something along the lines of 3080 or 3090, i have a 2080 super with an i7-9600 and its at 95% when i am gaming in vr.

GPU should not be 90-95% in VR. That means that you have basically no headroom if you are hitting your frametime target.

 

This is a common misconception that the GPU is not being taxed so something must be wrong. If you can't hit frametime targets and AWS kicks in, your GPU usage is going to drop because it's halving the framerate.

 

You need headroom, especially in VR. Of course if you are playing something that and the game is at its most demanding scene, 95% is fine since you will never go above it. Overall I just believe that looking at GPU utilization is not useful in any way because. Oculus Dev Tools layers are much more interesting because you can see overhead, compositor time (encoding) and much more.