Revert "Reduce update rate of chaperone velocity modifiers"
This reverts commit e712f4aa1f.
The issue turned out to be isolated to Linux, since it wasn't possible
to reproduce the issue completely on Windows.
An MVP for the bug can be found here
https://github.com/username223/SteamVR-Manjaro-Sync-Crash
The issue is very likely to be on SteamVR's end, since the issue doesn't
appear on the same CPU running Windows.
The fix for the issue in
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/252
is to by default turn off the offending feature. This doesn't fix
anything, but it will prevent people from having OVRAS kill their
performance just by running the application.
This commit is contained in:
@@ -572,6 +572,27 @@ void ChaperoneTabController::eventLoopTick(
|
||||
float rightSpeed,
|
||||
float hmdSpeed )
|
||||
{
|
||||
m_chaperoneVelocityModifierCurrent = 1.0f;
|
||||
if ( m_enableChaperoneVelocityModifier )
|
||||
{
|
||||
float mod = m_chaperoneVelocityModifier
|
||||
* std::max( { leftSpeed, rightSpeed, hmdSpeed } );
|
||||
if ( mod > 0.02f )
|
||||
{
|
||||
m_chaperoneVelocityModifierCurrent += mod;
|
||||
}
|
||||
}
|
||||
float newFadeDistance = m_fadeDistance * m_chaperoneVelocityModifierCurrent;
|
||||
if ( m_fadeDistanceModified != newFadeDistance )
|
||||
{
|
||||
m_fadeDistanceModified = newFadeDistance;
|
||||
vr::VRSettings()->SetFloat(
|
||||
vr::k_pch_CollisionBounds_Section,
|
||||
vr::k_pch_CollisionBounds_FadeDistance_Float,
|
||||
m_fadeDistanceModified );
|
||||
vr::VRSettings()->Sync();
|
||||
}
|
||||
|
||||
if ( devicePoses )
|
||||
{
|
||||
m_isHMDActive = false;
|
||||
@@ -664,28 +685,6 @@ void ChaperoneTabController::eventLoopTick(
|
||||
|
||||
if ( settingsUpdateCounter >= k_chaperoneSettingsUpdateCounter )
|
||||
{
|
||||
m_chaperoneVelocityModifierCurrent = 1.0f;
|
||||
if ( m_enableChaperoneVelocityModifier )
|
||||
{
|
||||
float mod = m_chaperoneVelocityModifier
|
||||
* std::max( { leftSpeed, rightSpeed, hmdSpeed } );
|
||||
if ( mod > 0.02f )
|
||||
{
|
||||
m_chaperoneVelocityModifierCurrent += mod;
|
||||
}
|
||||
}
|
||||
float newFadeDistance
|
||||
= m_fadeDistance * m_chaperoneVelocityModifierCurrent;
|
||||
if ( m_fadeDistanceModified != newFadeDistance )
|
||||
{
|
||||
m_fadeDistanceModified = newFadeDistance;
|
||||
vr::VRSettings()->SetFloat(
|
||||
vr::k_pch_CollisionBounds_Section,
|
||||
vr::k_pch_CollisionBounds_FadeDistance_Float,
|
||||
m_fadeDistanceModified );
|
||||
vr::VRSettings()->Sync();
|
||||
}
|
||||
|
||||
if ( parent->isDashboardVisible() )
|
||||
{
|
||||
vr::EVRSettingsError vrSettingsError;
|
||||
|
||||
Reference in New Issue
Block a user