pcsx2/pcsx2-qt/Settings/EmulationSettingsWidget.h
Stenzek c7a21a60cf GS: Improve vsync mode selection
All games use mailbox/triple buffering. Except when you enable sync to
host refresh, in which case FIFO/double buffering is used.

This means vsync enabled will ever tear, but at the same time, never
drop to 30fps on a missed frame due to frame rate differences.

To have the "best of both worlds", you should enable vsync and sync to
host refresh. Previously, this resulted in additional input lag, since
the host vsync would drive the EE frame timing. Now, this behaviour is
disabled by default, unless you enable "Use Host VSync Timing".
2024-05-25 14:06:50 +10:00

32 lines
754 B
C++

// SPDX-FileCopyrightText: 2002-2023 PCSX2 Dev Team
// SPDX-License-Identifier: LGPL-3.0+
#pragma once
#include <QtWidgets/QWidget>
#include "ui_EmulationSettingsWidget.h"
class SettingsWindow;
class EmulationSettingsWidget : public QWidget
{
Q_OBJECT
public:
EmulationSettingsWidget(SettingsWindow* dialog, QWidget* parent);
~EmulationSettingsWidget();
private Q_SLOTS:
void onOptimalFramePacingChanged();
private:
void initializeSpeedCombo(QComboBox* cb, const char* section, const char* key, float default_value);
void handleSpeedComboChange(QComboBox* cb, const char* section, const char* key);
void updateOptimalFramePacing();
void updateUseVSyncForTimingEnabled();
SettingsWindow* m_dialog;
Ui::EmulationSettingsWidget m_ui;
};