New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Throttler: Rename "framelimiter" to "emulation speed". #3356
Conversation
|
Alcaro> would personally use -1 or actually put in two billion, but your choice |
|
It sounds like this will get rid of users setting Framelimit to 60 instead of Auto for no good reason and also the problem of the Framelimit being 5 after updating from old Dolphin versions that used the Audio option. If that's true, I'll be very happy. |
|
I think this is a great idea! But this is a GUI change, so I want to see a screenshot. |
| m_cpu_engine_radiobox = new wxRadioBox(this, wxID_ANY, _("CPU Emulator Engine"), wxDefaultPosition, wxDefaultSize, m_cpu_engine_array_string, 0, wxRA_SPECIFY_ROWS); | ||
|
|
||
| m_dual_core_checkbox->SetToolTip(_("Splits the CPU and GPU threads so they can be run on separate cores.\nProvides major speed improvements on most modern PCs, but can cause occasional crashes/glitches.")); | ||
| m_idle_skip_checkbox->SetToolTip(_("Attempt to detect and skip wait-loops.\nIf unsure, leave this checked.")); | ||
| m_cheats_checkbox->SetToolTip(_("Enables the use of Action Replay and Gecko cheats.")); | ||
| m_force_ntscj_checkbox->SetToolTip(_("Forces NTSC-J mode for using the Japanese ROM font.\nIf left unchecked, Dolphin defaults to NTSC-U and automatically enables this setting when playing Japanese games.")); | ||
| m_frame_limit_choice->SetToolTip(_("Limits the game speed to the specified number of frames per second (full speed is 60 for NTSC and 50 for PAL).")); | ||
| m_throttler_choice->SetToolTip(_("Limits the game speed to the specified percentual value.")); |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
| @@ -381,6 +381,7 @@ void Renderer::DrawDebugText() | |||
| std::string("Aspect Ratio: ") + ar_text + (g_ActiveConfig.bCrop ? " (crop)" : ""), | |||
| std::string("Copy EFB: ") + efbcopy_text, | |||
| std::string("Fog: ") + (g_ActiveConfig.bDisableFog ? "Disabled" : "Enabled"), | |||
| StringFromFormat("Speed: %li%%", std::lround(SConfig::GetInstance().m_EmulationSpeed * 100.f)), | |||
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
| { | ||
| aid_sample_rate = aid_sample_rate * (framelimit - 1) * 5 / VideoInterface::TargetRefreshRate; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
|
Just for curiosity I tested a bit the frame limiter on master 4.0-8396 and found out that the auto setting doesn't seem 100% accurate playing in a window: in Wii Sports I get sometimes weird slowdowns (although the counter still indicates 60 fps 100% speed, gameplay slows down - could be timings slowdowns?); instead disabling framelimiter and enabling Vsync (in fact limiting frames with Vsync), I can get complete smooth gameplay (no more slowdowns in this way). P.S. I tested at 1920x1080 - 60 hz |
|
It seems a bit strange that hotkeys can be used to set values that aren't available in the GUI. For instance, decreasing from 100% would go 100%, 90%, 81%, 72.9%, 65.61%... |
| @@ -755,9 +755,9 @@ void VideoThrottle() | |||
| // depending on the framelimit set | |||
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
|
Ping. |
We don't throttle by frames, we throttle by coretiming speed. So looking up VI for calculating the speed was just very wrong. The new ini option is a float, 1.0f for fullspeed. In the GUI, percentual values are used.
|
LGTM. |
Throttler: Rename "framelimiter" to "emulation speed".
|
FifoCI detected that this change impacts graphical rendering. Here are the behavior differences detected by the system:
automated-fifoci-reporter |
|
it would be more useful to have the ability to set the exact desired speed percentage (like 99, 98 and so on for "fine tuning") or at least 95%, because 90% is already too slow (not to mention that speeds below it are pretty much useless) |
|
For now, you can do that by editing the INI file. I'm not sure what you would need it for, though. |
|
For example some time ago was noticed that Tales of Symphonia with auto frame limit was slightly faster that original Gamecube game, so if the problem persists with actual builds, it could be useful to set it at 99 or 98%... |
|
If that's a problem, it should have a proper fix, not a workaround based on setting the speed limit. Make an report on the issue tracker if it happens in the newest development version. https://bugs.dolphin-emu.org/projects/emulator |
|
It was only an example, other uses could be limit the speed because not always reaching 60 fps 100% speed due to hardware not powerful enough (maybe they could play without sound cutting at 57 fps - 95% speed instead of slowing too much at 54 fps - 90% speed)... P.S. I think adding a 95% speed option would be enough (before I wasn't thinking in percentage so I thought that 95% was 55 fps, instead it would be 57, so further values/options wouldn't be so useful...) |
We don't throttle by frames, we throttle by coretiming speed.

So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.