diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index bc4f07941b2511adcfdcc27ce2eb8bbdff7e3f64..b3616e4ea8adbcef41f8cd2bf082b2c2859bb0c0 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -660,6 +660,8 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits } } + mRefreshRate = CGDisplayModeGetRefreshRate(CGDisplayCopyDisplayMode(mDisplay)); + // Disable vertical sync for swap toggleVSync(enable_vsync); diff --git a/indra/newview/llfloaterperformance.cpp b/indra/newview/llfloaterperformance.cpp index ecacadee3e704536077b0fd1f9993f6c9b5600cb..0ef9ab32155a594e2b46f3485a7c208397bc89a3 100644 --- a/indra/newview/llfloaterperformance.cpp +++ b/indra/newview/llfloaterperformance.cpp @@ -416,7 +416,8 @@ void LLFloaterPerformance::setFPSText() std::string fps_text = getString("fps_text"); static LLCachedControl<bool> vsync_enabled(gSavedSettings, "RenderVSyncEnable", true); - if (vsync_enabled && (current_fps >= gViewerWindow->getWindow()->getRefreshRate())) + S32 refresh_rate = gViewerWindow->getWindow()->getRefreshRate(); + if (vsync_enabled && (refresh_rate > 0) && (current_fps >= refresh_rate)) { fps_text += getString("max_text"); }