From 31ead3a9f463ac24155711fbbddc921dc0c06bb3 Mon Sep 17 00:00:00 2001 From: scrawl Date: Sun, 3 May 2015 17:04:21 +0200 Subject: [PATCH] Increase loading screen FPS Now that it's rendered in a background thread, we can have a smooth loading bar at virtually no performance cost. --- apps/openmw/mwgui/loadingscreen.cpp | 10 +++++----- apps/openmw/mwgui/loadingscreen.hpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/openmw/mwgui/loadingscreen.cpp b/apps/openmw/mwgui/loadingscreen.cpp index 01bd590a79..3b13ed5a9f 100644 --- a/apps/openmw/mwgui/loadingscreen.cpp +++ b/apps/openmw/mwgui/loadingscreen.cpp @@ -30,8 +30,8 @@ namespace MWGui : WindowBase("openmw_loading_screen.layout") , mVFS(vfs) , mViewer(viewer) - , mLastRenderTime(0) - , mLastWallpaperChangeTime(0) + , mLastRenderTime(0.0) + , mLastWallpaperChangeTime(0.0) , mProgress(0) , mVSyncWasEnabled(false) { @@ -202,12 +202,10 @@ namespace MWGui void LoadingScreen::draw() { - const float loadingScreenFps = 20.f; + const float loadingScreenFps = 120.f; if (mTimer.time_m() > mLastRenderTime + (1.f/loadingScreenFps) * 1000.f) { - mLastRenderTime = mTimer.time_m(); - bool showWallpaper = (MWBase::Environment::get().getStateManager()->getState() == MWBase::StateManager::State_NoGame); @@ -230,6 +228,8 @@ namespace MWGui // resume 3d rendering mViewer->getUpdateVisitor()->setTraversalMask(oldUpdateMask); mViewer->getCamera()->setCullMask(oldCullMask); + + mLastRenderTime = mTimer.time_m(); } } } diff --git a/apps/openmw/mwgui/loadingscreen.hpp b/apps/openmw/mwgui/loadingscreen.hpp index 46bbb00ccb..4c9d45f668 100644 --- a/apps/openmw/mwgui/loadingscreen.hpp +++ b/apps/openmw/mwgui/loadingscreen.hpp @@ -50,8 +50,8 @@ namespace MWGui const VFS::Manager* mVFS; osg::ref_ptr mViewer; - unsigned long mLastWallpaperChangeTime; - unsigned long mLastRenderTime; + double mLastWallpaperChangeTime; + double mLastRenderTime; osg::Timer mTimer; size_t mProgress;