History

framerate is as fast as the display can go

Sam Gateau committed 12 years ago

Commit 80a87b31 parent 5b0fd996 files · +114 −27Browse files

Showing the changes to interface/src/Menu.cpp (1 of 6 files). Show all

Unified · Split

interface/src/Menu.cpp+41−6
@@ -373,7 +373,23 @@ Menu::Menu() : · 372 unmodified lines
373 shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::SimpleShadows, 0, false));373 shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::SimpleShadows, 0, false));
374 shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::CascadedShadows, 0, false));374 shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::CascadedShadows, 0, false));
375 375
376 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::RenderUnleashFramerate, 0, false, this, SLOT(toggleUnleashFramerate()));376 {
377 QMenu* framerateMenu = renderOptionsMenu->addMenu(MenuOption::RenderTargetFramerate);
378 QActionGroup* framerateGroup = new QActionGroup(framerateMenu);
379
380 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerateUnlimited, 0, true));
381 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate60, 0, false));
382 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate50, 0, false));
383 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate40, 0, false));
384 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate30, 0, false));
385 connect(framerateMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderTargetFramerate(QAction*)));
386
387#if defined(Q_OS_MAC)
388#else
389 QAction* vsyncAction = addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::RenderTargetFramerateVSyncOn, 0, true, this, SLOT(changeVSync()));
390#endif
391 }
392
377 393
378 QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution);394 QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution);
379 QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu);395 QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu);
@@ -1237,11 +1253,30 @@ void Menu::muteEnvironment() { · 857 unmodified lines
1237 free(packet);1253 free(packet);
1238}1254}
1239 1255
1240void Menu::toggleUnleashFramerate() {1256void Menu::changeVSync() {
1241 if (isOptionChecked(MenuOption::RenderUnleashFramerate)) {1257 Application::getInstance()->setRenderTargetFramerate(
1242 Application::getInstance()->setRenderTargetFramerate(0);1258 Application::getInstance()->getRenderTargetFramerate(),
1243 } else {1259 isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
1244 Application::getInstance()->setRenderTargetFramerate(-1);1260}
1261void Menu::changeRenderTargetFramerate(QAction* action) {
1262 bool vsynOn = Application::getInstance()->isVSyncOn();
1263 unsigned int framerate = Application::getInstance()->getRenderTargetFramerate();
1264
1265 QString text = action->text();
1266 if (text == MenuOption::RenderTargetFramerateUnlimited) {
1267 Application::getInstance()->setRenderTargetFramerate(0, vsynOn);
1268 }
1269 else if (text == MenuOption::RenderTargetFramerate60) {
1270 Application::getInstance()->setRenderTargetFramerate(60, vsynOn);
1271 }
1272 else if (text == MenuOption::RenderTargetFramerate50) {
1273 Application::getInstance()->setRenderTargetFramerate(50, vsynOn);
1274 }
1275 else if (text == MenuOption::RenderTargetFramerate40) {
1276 Application::getInstance()->setRenderTargetFramerate(40, vsynOn);
1277 }
1278 else if (text == MenuOption::RenderTargetFramerate30) {
1279 Application::getInstance()->setRenderTargetFramerate(30, vsynOn);
1245 }1280 }
1246}1281}
1247 1282