Skip to content

Commit

Permalink
rsx: Add 120fps and 144fps frame limit
Browse files Browse the repository at this point in the history
  • Loading branch information
elad335 committed Sep 11, 2024
1 parent 4acc8dd commit e6597d7
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
4 changes: 3 additions & 1 deletion rpcs3/Emu/RSX/RSXThread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3826,9 +3826,11 @@ namespace rsx
switch (frame_limit)
{
case frame_limit_type::none: limit = g_cfg.core.max_cpu_preempt_count_per_frame ? static_cast<double>(g_cfg.video.vblank_rate) : 0.; break;
case frame_limit_type::_30: limit = 30.; break;
case frame_limit_type::_50: limit = 50.; break;
case frame_limit_type::_60: limit = 60.; break;
case frame_limit_type::_30: limit = 30.; break;
case frame_limit_type::_120: limit = 120.; break;
case frame_limit_type::_144: limit = 144.; break;
case frame_limit_type::_auto: limit = static_cast<double>(g_cfg.video.vblank_rate); break;
case frame_limit_type::_ps3: limit = 0.; break;
case frame_limit_type::infinite: limit = 0.; break;
Expand Down
4 changes: 3 additions & 1 deletion rpcs3/Emu/system_config_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,11 @@ enum class video_aspect
enum class frame_limit_type
{
none,
_30,
_50,
_60,
_30,
_120,
_140,
_auto,
_ps3,
infinite,
Expand Down
4 changes: 3 additions & 1 deletion rpcs3/rpcs3qt/emu_settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -958,9 +958,11 @@ QString emu_settings::GetLocalizedSetting(const QString& original, emu_settings_
switch (static_cast<frame_limit_type>(index))
{
case frame_limit_type::none: return tr("Off", "Frame limit");
case frame_limit_type::_30: return tr("30", "Frame limit");
case frame_limit_type::_50: return tr("50", "Frame limit");
case frame_limit_type::_60: return tr("60", "Frame limit");
case frame_limit_type::_30: return tr("30", "Frame limit");
case frame_limit_type::_120: return tr("120", "Frame limit");
case frame_limit_type::_144: return tr("144", "Frame limit");
case frame_limit_type::_auto: return tr("Auto", "Frame limit");
case frame_limit_type::_ps3: return tr("PS3 Native", "Frame limit");
case frame_limit_type::infinite: return tr("Infinite", "Frame limit");
Expand Down
2 changes: 1 addition & 1 deletion rpcs3/rpcs3qt/tooltips.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ class Tooltips : public QObject
const QString resolution = tr("This setting will be ignored if the Resolution Scale is set to anything other than 100%!\nLeave this on 1280x720. Every PS3 game is compatible with this resolution.\nOnly use 1920x1080 if the game supports it.\nRarely due to emulation bugs some games will only render at low resolutions like 480p.");
const QString graphics_adapter = tr("On multi GPU systems select which GPU to use in RPCS3 when using Vulkan.\nThis is not needed when using OpenGL.");
const QString aspect_ratio = tr("Leave this on 16:9 unless you have a 4:3 monitor.");
const QString frame_limit = tr("Off is the fastest option.\nUsing the frame limiter will add extra overhead and slow down the game. However, some games will crash if the framerate is too high.\nPS3 native should only be used if Auto is not working correctly as it can introduce frame-pacing issues.\nInfinite adds a positive feedback loop which adds another vblank signal per frame allowing more games to be fps limitless.");
const QString frame_limit = tr("Off is the fastest option.\nUsing the frame limiter will add extra overhead and slow down the game. However, some games will crash if the framerate is too high.\nPS3 native should only be used if Auto is not working correctly as it can introduce frame-pacing issues.\nInfinite adds a positive feedback loop which adds another vblank signal per frame allowing more games to be fps limitless.\nExperienced users with need of other frame limits should use the setting \"Second Frame Limit\" setting in the configuration file.);
const QString anti_aliasing = tr("Emulate PS3 multisampling layout.\nCan fix some otherwise difficult to solve graphics glitches.\nLow to moderate performance hit depending on your GPU hardware.");
const QString anisotropic_filter = tr("Higher values increase sharpness of textures on sloped surfaces at the cost of GPU resources.\nModern GPUs can handle this setting just fine, even at 16x.\nKeep this on Automatic if you want to use the original setting used by a real PS3.");
const QString resolution_scale = tr("Scales the game's resolution by the given percentage.\nThe base resolution is always 1280x720.\nSet this value to 100% if you want to use the normal Resolution options.\nValues below 100% will usually not improve performance.");
Expand Down

0 comments on commit e6597d7

Please sign in to comment.