System Optimization question
-
Hello
Let me make sure to include that I did search this topic both in this forum, and off google. However the things I did find aren't very "helpful" if you will. Now im not asking "What do you have each of your systems optimized to" I understand that every pi, every system, and every emulator has it own differences.
My question is - ARE you optimizing each system/emulator? Or is it by game? Assuming you enter retroarch while in the game and change different settings that suit you. Or is there a way to optimize a system as a whole? -- Furthermore if you are in the game, and you change settings in retroarch -- does it save automatically, or do you have to force save it and load it? I guess im just a bit confused on this topic.
Maybe im thinking about it completely wrong, thus searching the wrong keywords or something? Hopefully someone can point me in the right direction.
-
There's no one site fits all, that's why you probably can't find a straight answer to 'optimization' questions.
For earlier systems/consoles, there's little need for optimizations, since they are emulated full speed, so optimizations will not get you further. In RetroArch, a per-game optimization in this case is the runahead number of frames, to reduce input latency. Here you can experiment and see how the game feels with different values.For later systems/consoles, there's some room left for performance improvements, so you can try tweaking the Core options to remove/modify some performance intensive options. Not the overall RetroArch settings, since the defaults for the video/audio drivers are ok, though you can experiment with per-system's shaders and per-game run-ahead settings. Maybe some other users have some more ideas on what per-game/system tweaks can be done.
Choosing Shaders can be also done on a per-system (same shader for all games in the system) or per-game basis (i.e. arcade games are not all similar and you may want to have a vertical CRT shader for some, horizontal for others, non for the rest, etc.)
Furthermore if you are in the game, and you change settings in retroarch -- does it save automatically, or do you have to force save it and load it? I guess im just a bit confused on this topic.
RetroArch's settings are saved differently:
- input setings are not saved to the main config file, you can save a remap/override (this is RetroArch specific).
- shaders are saved separately, from their menu - per game/folder/system/core (this is RetroArch specific).
- core options are saved immediately. They are also applied immediately, but some of them require a restart of the core/game (this is RetroArch specific).
- 'normal' settings are not saved automatically and this is a configuration set by RetroPie. I advise against saving the configuration after changing values or enabling 'save on exit' - instead save a system override after changing the values. It's easy to revert your changes if you're using an override by removing a file instead of finding the option you changed in a file with hundreds of lines and reverting it.
-
It can be pretty daunting, but mitu explained very well the configuration autosaving schema for retroarch.
For retroarch cores, I will usually create configurations by-core. and these are mainly preferences, and not a lot that I do for optimization. These being like how i want to map a sega 6 button controller to my gamepad, or if there is some feature i like to use on this core.
Then there are certain games which may require something specific to be configured, or optimization as needed. And so I will create a configuration for that specific game. I've probably spent the most time configuring PSX games like this, some games not supporting dualshock/analog need to be configured to use digital pad, or vise-versa if you want to use analog on supporting games and digital is the default.
Depending what to consider optimization, there is a lot to take on, sometimes ive been driven to the point to learn a little bit of shell script to streamline an arduous task done by hand. I think mainly if you get stuck on something don't be afraid to ask in the appropriate channels. I got a lot of support and answers from searching all over the web about specific things that only one person was ever asking.
as a side note, if you are looking for performance optimisations something to avoid is changing the video display resolution options in run-command. This typically, but espescially for retroarch cores will not change rendering resolution and thus offers no performance gain.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.