1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 20:22:30 +01:00

Add SPU Profiler to GUI

This commit is contained in:
Eladash 2024-04-13 12:35:01 +03:00 committed by Elad Ashkenazi
parent 78c1a6f326
commit 7833862342
5 changed files with 20 additions and 0 deletions

View File

@ -329,6 +329,13 @@ struct cpu_prof
continue; continue;
} }
if (!g_cfg.core.spu_debug)
{
// Reduce accuracy in favor of performance when enabled alone
thread_ctrl::wait_for(60, false);
continue;
}
// Wait, roughly for 20µs // Wait, roughly for 20µs
thread_ctrl::wait_for(20, false); thread_ctrl::wait_for(20, false);
} }

View File

@ -51,6 +51,7 @@ enum class emu_settings_type
AccuratePPUVNAN, AccuratePPUVNAN,
AccuratePPUFPCC, AccuratePPUFPCC,
MaxPreemptCount, MaxPreemptCount,
SPUProfiler,
// Graphics // Graphics
Renderer, Renderer,
@ -237,6 +238,7 @@ inline static const QMap<emu_settings_type, cfg_location> settings_location =
{ emu_settings_type::AccuratePPUVNAN, { "Core", "PPU Accurate Vector NaN Values"}}, { emu_settings_type::AccuratePPUVNAN, { "Core", "PPU Accurate Vector NaN Values"}},
{ emu_settings_type::AccuratePPUFPCC, { "Core", "PPU Set FPCC Bits"}}, { emu_settings_type::AccuratePPUFPCC, { "Core", "PPU Set FPCC Bits"}},
{ emu_settings_type::MaxPreemptCount, { "Core", "Max CPU Preempt Count"}}, { emu_settings_type::MaxPreemptCount, { "Core", "Max CPU Preempt Count"}},
{ emu_settings_type::SPUProfiler, { "Core", "SPU Profiler"}},
// Graphics Tab // Graphics Tab
{ emu_settings_type::Renderer, { "Video", "Renderer"}}, { emu_settings_type::Renderer, { "Video", "Renderer"}},

View File

@ -1477,6 +1477,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
m_emu_settings->EnhanceCheckBox(ui->compatibleSavestates, emu_settings_type::CompatibleEmulationSavestateMode); m_emu_settings->EnhanceCheckBox(ui->compatibleSavestates, emu_settings_type::CompatibleEmulationSavestateMode);
SubscribeTooltip(ui->compatibleSavestates, tooltips.settings.compatible_savestates); SubscribeTooltip(ui->compatibleSavestates, tooltips.settings.compatible_savestates);
m_emu_settings->EnhanceCheckBox(ui->spuProfiler, emu_settings_type::SPUProfiler);
SubscribeTooltip(ui->spuProfiler, tooltips.settings.spu_profiler);
m_emu_settings->EnhanceCheckBox(ui->silenceAllLogs, emu_settings_type::SilenceAllLogs); m_emu_settings->EnhanceCheckBox(ui->silenceAllLogs, emu_settings_type::SilenceAllLogs);
SubscribeTooltip(ui->silenceAllLogs, tooltips.settings.silence_all_logs); SubscribeTooltip(ui->silenceAllLogs, tooltips.settings.silence_all_logs);

View File

@ -2440,6 +2440,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="spuProfiler">
<property name="text">
<string>SPU Profiler</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="silenceAllLogs"> <widget class="QCheckBox" name="silenceAllLogs">
<property name="text"> <property name="text">

View File

@ -55,6 +55,7 @@ public:
const QString suspend_savestates = tr("When this mode is on, emulation exits when saving and the savestate file is concealed after loading it, preventing reuse by RPCS3.\nThis mode is like hibernation of emulation: if you don't want to be able to cheat using savestates when playing the game, consider using this mode.\nDo note that the savestate file is not gone completely, just ignored by RPCS3. You can manually relaunch it if needed."); const QString suspend_savestates = tr("When this mode is on, emulation exits when saving and the savestate file is concealed after loading it, preventing reuse by RPCS3.\nThis mode is like hibernation of emulation: if you don't want to be able to cheat using savestates when playing the game, consider using this mode.\nDo note that the savestate file is not gone completely, just ignored by RPCS3. You can manually relaunch it if needed.");
const QString compatible_savestates = tr("When this mode is on, SPU emulation prioritizes savestate compatibility, however, it may reduce performance slightly.\nWhen this mode is off, some games may not allow making a savestate and show an SPU pause error in the log."); const QString compatible_savestates = tr("When this mode is on, SPU emulation prioritizes savestate compatibility, however, it may reduce performance slightly.\nWhen this mode is off, some games may not allow making a savestate and show an SPU pause error in the log.");
const QString paused_savestates = tr("When this mode is on, savestates are loaded and paused on the first frame.\nThis allows players to prepare for gameplay without being thrown into the action immediately."); const QString paused_savestates = tr("When this mode is on, savestates are loaded and paused on the first frame.\nThis allows players to prepare for gameplay without being thrown into the action immediately.");
const QString spu_profiler = tr("When enabled, SPU performance is measured at runtime.\nEnable only at a developr's request because when enabled it reduces performance a bit by itself.");
// audio // audio