mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-11 01:25:07 +02:00
Remove the "Percentage of framerate" frameskip type
This commit is contained in:
@@ -688,7 +688,6 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
ConfigSetting("AndroidHwScale", &g_Config.iAndroidHwScale, &DefaultAndroidHwScale, CfgFlag::DEFAULT),
|
||||
ConfigSetting("HighQualityDepth", &g_Config.bHighQualityDepth, true, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("FrameSkip", &g_Config.iFrameSkip, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("FrameSkipType", &g_Config.iFrameSkipType, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("AutoFrameSkip", &g_Config.bAutoFrameSkip, IsVREnabled(), CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("StereoRendering", &g_Config.bStereoRendering, false, CfgFlag::PER_GAME),
|
||||
ConfigSetting("StereoToMonoShader", &g_Config.sStereoToMonoShader, "RedBlue", CfgFlag::PER_GAME),
|
||||
|
||||
@@ -203,7 +203,6 @@ public:
|
||||
bool bShowImDebugger;
|
||||
|
||||
int iFrameSkip;
|
||||
int iFrameSkipType;
|
||||
int iFastForwardMode; // See FastForwardMode in ConfigValues.h.
|
||||
bool bAutoFrameSkip;
|
||||
|
||||
|
||||
@@ -424,7 +424,7 @@ static void DoFrameTiming(bool throttle, bool *skipFrame, float scaledTimestep,
|
||||
}
|
||||
|
||||
// Auto-frameskip automatically if speed limit is set differently than the default.
|
||||
int frameSkipNum = DisplayCalculateFrameSkip();
|
||||
int frameSkipNum = g_Config.iFrameSkip;
|
||||
if (g_Config.bAutoFrameSkip && !g_Config.bSkipBufferEffects) {
|
||||
// autoframeskip
|
||||
// Argh, we are falling behind! Let's skip a frame and see if we catch up.
|
||||
@@ -673,7 +673,7 @@ void __DisplayFlip(int cyclesLate) {
|
||||
DoFrameTiming(throttle, &skipFrame, scaledTimestep, nextFrame);
|
||||
|
||||
int maxFrameskip = 8;
|
||||
int frameSkipNum = DisplayCalculateFrameSkip();
|
||||
const int frameSkipNum = g_Config.iFrameSkip;
|
||||
if (throttle) {
|
||||
// 4 here means 1 drawn, 4 skipped - so 12 fps minimum.
|
||||
maxFrameskip = frameSkipNum;
|
||||
|
||||
@@ -296,18 +296,6 @@ void __DisplayForgetFlip(FlipCallback callback, void *userdata) {
|
||||
}), flipListeners.end());
|
||||
}
|
||||
|
||||
int DisplayCalculateFrameSkip() {
|
||||
int frameSkipNum;
|
||||
if (g_Config.iFrameSkipType == 1) {
|
||||
// Calculate the frames to skip dynamically using the set percentage of the current fps
|
||||
frameSkipNum = (int)ceil(flips * (static_cast<double>(g_Config.iFrameSkip) / 100.00));
|
||||
} else {
|
||||
// Use the set number of frames to skip
|
||||
frameSkipNum = g_Config.iFrameSkip;
|
||||
}
|
||||
return frameSkipNum;
|
||||
}
|
||||
|
||||
void DisplayHWReset() {
|
||||
frameStartTicks = 0;
|
||||
numVBlanks = 0;
|
||||
|
||||
@@ -99,7 +99,6 @@ void MainWindow::updateMenus()
|
||||
updateMenuGroupInt(displayRotationGroup, g_Config.iInternalScreenRotation);
|
||||
updateMenuGroupInt(renderingResolutionGroup, g_Config.iInternalResolution);
|
||||
updateMenuGroupInt(frameSkippingGroup, g_Config.iFrameSkip);
|
||||
updateMenuGroupInt(frameSkippingTypeGroup, g_Config.iFrameSkipType);
|
||||
updateMenuGroupInt(textureFilteringGroup, g_Config.iTexFiltering);
|
||||
updateMenuGroupInt(screenScalingFilterGroup, g_Config.iDisplayFilter);
|
||||
updateMenuGroupInt(textureScalingLevelGroup, g_Config.iTexScalingLevel);
|
||||
@@ -626,10 +625,6 @@ void MainWindow::createMenus()
|
||||
frameSkippingGroup = new MenuActionGroup(this, frameSkippingMenu, SLOT(frameSkippinGroup_triggered(QAction *)),
|
||||
QStringList() << "&Off" << "&1" << "&2" << "&3" << "&4" << "&5" << "&6" << "&7" << "&8",
|
||||
QList<int>() << 0 << 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8);
|
||||
MenuTree* frameSkippingTypeMenu = new MenuTree(this, gameSettingsMenu, QT_TR_NOOP("Frame skipping type"));
|
||||
frameSkippingTypeGroup = new MenuActionGroup(this, frameSkippingTypeMenu, SLOT(frameSkippingTypeGroup_triggered(QAction *)),
|
||||
QStringList() << "Skip number of frames" << "Skip percent of FPS",
|
||||
QList<int>() << 0 << 1);
|
||||
MenuTree* textureFilteringMenu = new MenuTree(this, gameSettingsMenu, QT_TR_NOOP("Te&xture filtering"));
|
||||
textureFilteringGroup = new MenuActionGroup(this, textureFilteringMenu, SLOT(textureFilteringGroup_triggered(QAction *)),
|
||||
QStringList() << "&Auto" << "&Nearest" << "&Linear" << "Auto Max &Quality",
|
||||
|
||||
+1
-4
@@ -141,7 +141,6 @@ private slots:
|
||||
}
|
||||
}
|
||||
void frameSkippingGroup_triggered(QAction *action) { g_Config.iFrameSkip = action->data().toInt(); }
|
||||
void frameSkippingTypeGroup_triggered(QAction *action) { g_Config.iFrameSkipType = action->data().toInt(); }
|
||||
void textureFilteringGroup_triggered(QAction *action) { g_Config.iTexFiltering = action->data().toInt(); }
|
||||
void screenScalingFilterGroup_triggered(QAction *action) { g_Config.iDisplayFilter = action->data().toInt(); }
|
||||
void textureScalingLevelGroup_triggered(QAction *action) {
|
||||
@@ -161,7 +160,6 @@ private slots:
|
||||
System_PostUIMessage(UIMessage::GPU_CONFIG_CHANGED);
|
||||
}
|
||||
void frameskipAct() { g_Config.iFrameSkip = !g_Config.iFrameSkip; }
|
||||
void frameskipTypeAct() { g_Config.iFrameSkipType = !g_Config.iFrameSkipType; }
|
||||
|
||||
// Sound
|
||||
void audioAct() {
|
||||
@@ -209,8 +207,7 @@ private:
|
||||
QActionGroup *windowGroup,
|
||||
*textureScalingLevelGroup, *textureScalingTypeGroup,
|
||||
*screenScalingFilterGroup, *textureFilteringGroup,
|
||||
*frameSkippingTypeGroup, *frameSkippingGroup,
|
||||
*renderingResolutionGroup,
|
||||
*frameSkippingGroup, *renderingResolutionGroup,
|
||||
*displayRotationGroup, *saveStateGroup;
|
||||
|
||||
std::queue<MainWindowMsg> msgQueue_;
|
||||
|
||||
@@ -439,8 +439,6 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
|
||||
graphicsSettings->Add(new ItemHeader(gr->T("Frame Rate Control")));
|
||||
static const char *frameSkip[] = {"Off", "1", "2", "3", "4", "5", "6", "7", "8"};
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iFrameSkip, gr->T("Frame Skipping"), frameSkip, 0, ARRAY_SIZE(frameSkip), I18NCat::GRAPHICS, screenManager()));
|
||||
static const char *frameSkipType[] = {"Number of Frames", "Percent of FPS"};
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iFrameSkipType, gr->T("Frame Skipping Type"), frameSkipType, 0, ARRAY_SIZE(frameSkipType), I18NCat::GRAPHICS, screenManager()));
|
||||
frameSkipAuto_ = graphicsSettings->Add(new CheckBox(&g_Config.bAutoFrameSkip, gr->T("Auto FrameSkip")));
|
||||
frameSkipAuto_->OnClick.Handle(this, &GameSettingsScreen::OnAutoFrameskip);
|
||||
|
||||
|
||||
@@ -295,9 +295,6 @@ namespace MainWindow {
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIP_MENU, g_Config.bSystemControls ? L"\tF7" : L"");
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIP_AUTO);
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIP_0);
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIPTYPE_MENU);
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIPTYPE_COUNT);
|
||||
TranslateMenuItem(menu, ID_OPTIONS_FRAMESKIPTYPE_PRCNT);
|
||||
// Skip frameskipping 1-8..
|
||||
TranslateMenuItem(menu, ID_OPTIONS_TEXTUREFILTERING_MENU);
|
||||
TranslateMenuItem(menu, ID_OPTIONS_TEXTUREFILTERING_AUTO);
|
||||
@@ -437,26 +434,6 @@ namespace MainWindow {
|
||||
g_OSD.Show(OSDType::MESSAGE_INFO, messageStream.str());
|
||||
}
|
||||
|
||||
static void setFrameSkippingType(int fskipType = -1) {
|
||||
if (fskipType >= 0 && fskipType <= 1) {
|
||||
g_Config.iFrameSkipType = fskipType;
|
||||
} else {
|
||||
g_Config.iFrameSkipType = 0;
|
||||
}
|
||||
|
||||
auto gr = GetI18NCategory(I18NCat::GRAPHICS);
|
||||
|
||||
std::ostringstream messageStream;
|
||||
messageStream << gr->T("Frame Skipping Type") << ":" << " ";
|
||||
|
||||
if (g_Config.iFrameSkipType == 0)
|
||||
messageStream << gr->T("Number of Frames");
|
||||
else
|
||||
messageStream << gr->T("Percent of FPS");
|
||||
|
||||
g_OSD.Show(OSDType::MESSAGE_INFO, messageStream.str());
|
||||
}
|
||||
|
||||
static void RestartApp() {
|
||||
if (System_GetPropertyBool(SYSPROP_DEBUGGER_PRESENT)) {
|
||||
PostMessage(MainWindow::GetHWND(), WM_USER_RESTART_EMUTHREAD, 0, 0);
|
||||
@@ -759,9 +736,6 @@ namespace MainWindow {
|
||||
case ID_OPTIONS_FRAMESKIP_7: setFrameSkipping(FRAMESKIP_7); break;
|
||||
case ID_OPTIONS_FRAMESKIP_8: setFrameSkipping(FRAMESKIP_MAX); break;
|
||||
|
||||
case ID_OPTIONS_FRAMESKIPTYPE_COUNT: setFrameSkippingType(FRAMESKIPTYPE_COUNT); break;
|
||||
case ID_OPTIONS_FRAMESKIPTYPE_PRCNT: setFrameSkippingType(FRAMESKIPTYPE_PRCNT); break;
|
||||
|
||||
case ID_FILE_EXIT:
|
||||
if (MainWindow::ConfirmAction(hWnd, false)) {
|
||||
DestroyWindow(hWnd);
|
||||
@@ -1027,8 +1001,6 @@ namespace MainWindow {
|
||||
CHECKITEM(ID_DEBUG_BREAKONLOAD, !g_Config.bAutoRun);
|
||||
CHECKITEM(ID_OPTIONS_FRAMESKIP_AUTO, g_Config.bAutoFrameSkip);
|
||||
CHECKITEM(ID_OPTIONS_FRAMESKIP, g_Config.iFrameSkip != FRAMESKIP_OFF);
|
||||
CHECKITEM(ID_OPTIONS_FRAMESKIPTYPE_COUNT, g_Config.iFrameSkipType == FRAMESKIPTYPE_COUNT);
|
||||
CHECKITEM(ID_OPTIONS_FRAMESKIPTYPE_PRCNT, g_Config.iFrameSkipType == FRAMESKIPTYPE_PRCNT);
|
||||
CHECKITEM(ID_OPTIONS_VSYNC, g_Config.bVSync);
|
||||
CHECKITEM(ID_OPTIONS_TOPMOST, g_Config.bTopMost);
|
||||
CHECKITEM(ID_OPTIONS_PAUSE_FOCUS, g_Config.bPauseOnLostFocus);
|
||||
@@ -1190,11 +1162,6 @@ namespace MainWindow {
|
||||
ID_OPTIONS_FRAMESKIP_8,
|
||||
};
|
||||
|
||||
static const int frameskippingType[] = {
|
||||
ID_OPTIONS_FRAMESKIPTYPE_COUNT,
|
||||
ID_OPTIONS_FRAMESKIPTYPE_PRCNT,
|
||||
};
|
||||
|
||||
if (g_Config.iFrameSkip < FRAMESKIP_OFF)
|
||||
g_Config.iFrameSkip = FRAMESKIP_OFF;
|
||||
|
||||
@@ -1205,10 +1172,6 @@ namespace MainWindow {
|
||||
CheckMenuItem(menu, frameskipping[i], MF_BYCOMMAND | ((i == g_Config.iFrameSkip) ? MF_CHECKED : MF_UNCHECKED));
|
||||
}
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(frameskippingType); i++) {
|
||||
CheckMenuItem(menu, frameskippingType[i], MF_BYCOMMAND | ((i == g_Config.iFrameSkipType) ? MF_CHECKED : MF_UNCHECKED));
|
||||
}
|
||||
|
||||
static const int savestateSlot[] = {
|
||||
ID_FILE_SAVESTATE_SLOT_1,
|
||||
ID_FILE_SAVESTATE_SLOT_2,
|
||||
|
||||
@@ -642,11 +642,6 @@ BEGIN
|
||||
MENUITEM "&7", ID_OPTIONS_FRAMESKIP_7
|
||||
MENUITEM "&8", ID_OPTIONS_FRAMESKIP_8
|
||||
END
|
||||
POPUP "Frame Skipping Type", ID_OPTIONS_FRAMESKIPTYPE_MENU
|
||||
BEGIN
|
||||
MENUITEM "Skip Number of Frames", ID_OPTIONS_FRAMESKIPTYPE_COUNT
|
||||
MENUITEM "Skip Percent of FPS", ID_OPTIONS_FRAMESKIPTYPE_PRCNT
|
||||
END
|
||||
POPUP "Texture Filtering", ID_OPTIONS_TEXTUREFILTERING_MENU
|
||||
BEGIN
|
||||
MENUITEM "Auto", ID_OPTIONS_TEXTUREFILTERING_AUTO
|
||||
|
||||
@@ -297,8 +297,6 @@
|
||||
#define ID_EMULATION_PAUSE 40177
|
||||
#define ID_HELP_DISCORD 40178
|
||||
#define IDC_GEDBG_STEPCURVE 40179
|
||||
#define ID_OPTIONS_FRAMESKIPTYPE_COUNT 40180
|
||||
#define ID_OPTIONS_FRAMESKIPTYPE_PRCNT 40181
|
||||
#define ID_FILE_MENU 40182
|
||||
#define ID_EMULATION_MENU 40183
|
||||
#define ID_DEBUG_MENU 40184
|
||||
@@ -312,7 +310,6 @@
|
||||
#define ID_OPTIONS_BACKEND_MENU 40192
|
||||
#define ID_OPTIONS_RENDERMODE_MENU 40193
|
||||
#define ID_OPTIONS_FRAMESKIP_MENU 40194
|
||||
#define ID_OPTIONS_FRAMESKIPTYPE_MENU 40195
|
||||
#define ID_OPTIONS_TEXTUREFILTERING_MENU 40196
|
||||
#define ID_OPTIONS_SCREENFILTER_MENU 40197
|
||||
#define ID_OPTIONS_TEXTURESCALING_MENU 40198
|
||||
|
||||
@@ -733,15 +733,6 @@ static void check_variables(CoreParameter &coreParam)
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
g_Config.iFrameSkip = atoi(var.value);
|
||||
|
||||
var.key = "ppsspp_frameskiptype";
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
{
|
||||
if (!strcmp(var.value, "Number of frames"))
|
||||
g_Config.iFrameSkipType = 0;
|
||||
else if (!strcmp(var.value, "Percent of FPS"))
|
||||
g_Config.iFrameSkipType = 1;
|
||||
}
|
||||
|
||||
var.key = "ppsspp_auto_frameskip";
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user