Skip to content

Commit

Permalink
Enable 90Hz mode for Oculus
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeage committed Jan 27, 2022
1 parent 83f5102 commit f7be823
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Assets/Scripts/UserConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ public struct VideoConfig

private const float kDefaultSmoothing = 0.98f;
private const float kDefaultOdsPoleCollapsing = 1.0f;
private const float kDefaultDisplayRefresh = 72.0f;

float? m_FPS;
public float FPS
Expand Down Expand Up @@ -476,6 +477,17 @@ public float OdsPoleCollapsing
}
}
}

float? m_DisplayRefresh;
public float DisplayRefresh
{
get { return m_DisplayRefresh ?? kDefaultDisplayRefresh; }
set
{
m_DisplayRefresh = value;
}
}

}

public VideoConfig Video;
Expand Down
23 changes: 23 additions & 0 deletions Assets/Scripts/VrSdk.cs
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,22 @@ void Awake()
manager.useRecommendedMSAALevel = false;

SetControllerStyle(TiltBrush.ControllerStyle.OculusTouch);

// Set custom refresh rate, if possible. To see the current framerate, look in the logs for prints like this one. The first number is the actual frame rate, the second is the display refresh rate (aka target)
// VrApi : FPS=90/90,Prd=33ms,Tear=0,Early=0...
float targetDisplayRefresh = App.UserConfig.Video.DisplayRefresh;
float[] freqs = OVRManager.display.displayFrequenciesAvailable;
foreach (float freq in freqs)
{
if (Math.Abs(freq - targetDisplayRefresh) < 1)
{
OVRPlugin.systemDisplayFrequency = freq;
OVRManager.DisplayRefreshRateChanged += DisplayRefreshRateChanged;
Debug.Log($"Set display refresh to {freq}");
break;
}
}

// adding components to the VR Camera needed for fading view and getting controller poses.
m_VrCamera.gameObject.AddComponent<OculusCameraFade>();
m_VrCamera.gameObject.AddComponent<OculusPreCullHook>();
Expand Down Expand Up @@ -343,6 +359,13 @@ private void OnInputFocus(params object[] args)
m_HasVrFocus = (bool)args[0];
}

#if OCULUS_SUPPORTED
private void DisplayRefreshRateChanged (float fromRefreshRate, float ToRefreshRate)
{
Debug.LogWarning(string.Format("Refresh rate changed from {0} to {1}", fromRefreshRate, ToRefreshRate));
}
#endif

private void OnNewPoses()
{
if (NewControllerPosesApplied != null)
Expand Down

0 comments on commit f7be823

Please sign in to comment.