Qt: Add help to GPU options in settings
This commit is contained in:
parent
101e1bfd73
commit
98bb1de31f
|
@ -1,9 +1,10 @@
|
|||
#include "gpusettingswidget.h"
|
||||
#include "core/gpu.h"
|
||||
#include "core/settings.h"
|
||||
#include "settingsdialog.h"
|
||||
#include "settingwidgetbinder.h"
|
||||
|
||||
GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* parent /* = nullptr */)
|
||||
GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* parent, SettingsDialog* dialog)
|
||||
: QWidget(parent), m_host_interface(host_interface)
|
||||
{
|
||||
m_ui.setupUi(this);
|
||||
|
@ -31,6 +32,60 @@ GPUSettingsWidget::GPUSettingsWidget(QtHostInterface* host_interface, QWidget* p
|
|||
&GPUSettingsWidget::updateScaledDitheringEnabled);
|
||||
connect(m_ui.trueColor, &QCheckBox::stateChanged, this, &GPUSettingsWidget::updateScaledDitheringEnabled);
|
||||
updateScaledDitheringEnabled();
|
||||
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.renderer, "Renderer", Settings::GetRendererDisplayName(Settings::DEFAULT_GPU_RENDERER),
|
||||
"Chooses the backend to use for rendering tasks for the the console GPU. Depending on your system and hardware, "
|
||||
"Direct3D 11 and OpenGL hardware backends may be available. The software renderer offers the best compatibility, "
|
||||
"but is the slowest and does not offer any enhancements.");
|
||||
dialog->registerWidgetHelp(m_ui.useDebugDevice, "Use Debug Device", "Unchecked",
|
||||
"Enables the usage of debug devices and shaders for rendering APIs which support them. "
|
||||
"Should only be used when debugging the emulator.");
|
||||
dialog->registerWidgetHelp(m_ui.displayAspectRatio, "Aspect Ratio", "4:3",
|
||||
"Changes the pixel aspect ratio which is used to display the console's output to the "
|
||||
"screen. The default is 4:3 which matches a typical TV of the era.");
|
||||
dialog->registerWidgetHelp(m_ui.displayCropMode, "Crop Mode", "Only Overscan Area",
|
||||
"Determines how much of the area typically not visible on a consumer TV set to crop/hide. "
|
||||
"Some games display content in the overscan area, or use it for screen effects and may "
|
||||
"not display correctly with the All Borders setting. Only Overscan offers a good "
|
||||
"compromise between stability and hiding black borders.");
|
||||
dialog->registerWidgetHelp(m_ui.disableInterlacing, "Disable Interlacing (force progressive render/scan)", "Checked",
|
||||
"Forces the display of frames to progressive mode. This only affects the displayed image, "
|
||||
"the console will be unaware of the setting. If the game is internally producing "
|
||||
"interlaced frames, this option may not have any effect. Usually safe to enable.");
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.displayLinearFiltering, "Linear Upscaling", "Checked",
|
||||
"Uses bilinear texture filtering when displaying the console's framebuffer to the screen. Disabling filtering will "
|
||||
"producer a sharper, blockier/pixelated image. Enabling will smooth out the image. The option will be less "
|
||||
"noticable the higher the resolution scale.");
|
||||
dialog->registerWidgetHelp(m_ui.vsync, "VSync", "Checked",
|
||||
"Enables synchronization with the host display when possible. Enabling this option will "
|
||||
"provide better frame pacing and smoother motion with fewer duplicated frames. VSync is "
|
||||
"automatically disabled when it is not possible (e.g. running at non-100% speed).");
|
||||
dialog->registerWidgetHelp(m_ui.resolutionScale, "Resolution Scale", "1x",
|
||||
"Enables the upscaling of 3D objects rendered to the console's framebuffer. Only applies "
|
||||
"to the hardware backends. This option is usually safe, with most games looking fine at "
|
||||
"higher resolutions. Higher resolutions require a more powerful GPU.");
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.trueColor, "True Color Rendering (24-bit, disables dithering)", "Checked",
|
||||
"Forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per "
|
||||
"channel. This produces nicer looking gradients at the cost of making some colours look slightly different. "
|
||||
"Disabling the option also enables dithering, which makes the transition between colours less sharp by applying a "
|
||||
"pattern around those pixels. Usually safe to leave enabled, and only applies to the hardware renderers.");
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.scaledDithering, "Scaled Dithering (scale dither pattern to resolution)", "Checked",
|
||||
"Scales the dither pattern to the resolution scale of the emulated GPU. This makes the dither pattern much less "
|
||||
"obvious at higher resolutions. Usually safe to enable, and only supported by the hardware renderers.");
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.forceNTSCTimings, "Force NTSC Timings (60hz-on-PAL)", "Unchecked",
|
||||
"Uses NTSC frame timings when the console is in PAL mode, forcing PAL games to run at 60hz. For most games which "
|
||||
"have a speed tied to the framerate, this will result in the game running approximately 17% faster. For variable "
|
||||
"frame rate games, it may not affect the framerate.");
|
||||
dialog->registerWidgetHelp(
|
||||
m_ui.linearTextureFiltering, "Bilinear Texture Filtering", "Unchecked",
|
||||
"Smooths out the blockyness of magnified textures on 3D object by using bilinear "
|
||||
"filtering. Will have a greater effect on higher resolution scales. Currently this option "
|
||||
"produces artifacts around objects in many games and needs further work. Only applies to the hardware renderers.");
|
||||
}
|
||||
|
||||
GPUSettingsWidget::~GPUSettingsWidget() = default;
|
||||
|
|
|
@ -5,13 +5,14 @@
|
|||
#include "ui_gpusettingswidget.h"
|
||||
|
||||
class QtHostInterface;
|
||||
class SettingsDialog;
|
||||
|
||||
class GPUSettingsWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GPUSettingsWidget(QtHostInterface* host_interface, QWidget* parent = nullptr);
|
||||
GPUSettingsWidget(QtHostInterface* host_interface, QWidget* parent, SettingsDialog* dialog);
|
||||
~GPUSettingsWidget();
|
||||
|
||||
private Q_SLOTS:
|
||||
|
|
|
@ -47,7 +47,7 @@ SettingsDialog::SettingsDialog(QtHostInterface* host_interface, QWidget* parent
|
|||
m_game_list_settings = new GameListSettingsWidget(host_interface, m_ui.settingsContainer);
|
||||
m_hotkey_settings = new HotkeySettingsWidget(host_interface, m_ui.settingsContainer);
|
||||
m_port_settings = new PortSettingsWidget(host_interface, m_ui.settingsContainer);
|
||||
m_gpu_settings = new GPUSettingsWidget(host_interface, m_ui.settingsContainer);
|
||||
m_gpu_settings = new GPUSettingsWidget(host_interface, m_ui.settingsContainer, this);
|
||||
m_audio_settings = new AudioSettingsWidget(host_interface, m_ui.settingsContainer);
|
||||
m_advanced_settings = new AdvancedSettingsWidget(host_interface, m_ui.settingsContainer, this);
|
||||
|
||||
|
|
Loading…
Reference in New Issue