Slowdown after update to 4.2
-
@IronAvocado No worries there. On my x86 instance everything has to install from source and it takes around two hours to update everything. On my Pi 3 it only takes a few minutes.
-
To be blatant, everything after 4.1.5 (or there about) has been much slower. I notice this the most because I'm mainly messing around with Pi Zero's where every little change in the programming is noticed 4 times as much (since it's ~25% of the Pi 3's power). I've also noticed this, albeit to a much less degree, on how smooth things play on my Pi 3's as well.
There's several topics which mention this from different people if you want to look around - I'm sadly one who always complains (and then am told I'm the only one and if it happened to more people - since the RetroPie image has been downloaded over 500,000 times - that more people would be complaining....OR that it's an upstream problem that has nothing to do with RetroPie)....so I don't know what to tell you besides to stay with 4.1 for the foreseeable future.
-
@IronAvocado 4.1 (afair) had a bug that the dynamic recompilation was disabled by default. It was fixed with a a binary update. It's worth testing with the core settings on 4.2 switching this setting on / off. I don't see any other upstream changes that should affect performance but I will test.
-
@Dochartaigh said in Slowdown after update to 4.2:
To be blatant, everything after 4.1.5 (or there about) has been much slower. I notice this the most because I'm mainly messing around with Pi Zero's where every little change in the programming is noticed 4 times as much (since it's ~25% of the Pi 3's power). I've also noticed this, albeit to a much less degree, on how smooth things play on my Pi 3's as well.
No it hasn't. Everything has not been slower. There may be some issues on some emulators, but not everything (and I need real test cases, not generalisations).
There's several topics which mention this from different people if you want to look around - I'm sadly one who always complains (and then am told I'm the only one and if it happened to more people - since the RetroPie image has been downloaded over 500,000 times - that more people would be complaining....OR that it's an upstream problem that has nothing to do with RetroPie)....so I don't know what to tell you besides to stay with 4.1 for the foreseeable future.
I'm getting a little tired of you repeating this -when there are reproducible performance issues they are looked into. You were the only one reporting slowdowns with that particular emulator (fceumm as I remember), and I was unable to see any significant/noticable performance decrease when I did some testing. The quicknes emulator is a better fit for the zero anyway. There was some alignment code changed in fceumm, but I tested with and without it, and it seemed the same.
Other issues that multiple people have reported have been fixed. CoolCV which was due to an SDL2 bug. a previous lr-pcsx-rearmed performance issue due to an error in an upstream commit (which I fixed).
-
@BuZz
BuZz, you know I appreciate what you and your team do, right? - and how I've said that numerous times before because I mean it. Take that as the truth please. And that's why I'm still on here posting (hopefully helpful) things when I can.My only complaint is how I follow the scientific method with repeatability to the extreme (you've read the type of tests I do on multiple hardware, multiple computers, multiple setups all the way around) - and can reproduce every single one of my problems on like 6+ systems (which I've literally done), yet still get told it can't be reproduced...then read about other peoples same issues on the like 10 different forums I'm on...
But anyway, I'm giving up on this pursuit, ok? You have my word. Not another word has to be said about it– as I still want to be welcomed on this forum and not be shunned and not get help when I need it. Fair enough?
/end rant/end thread crapping
-
It doesn't come across as though you appreciate it.
Regarding performance issues - You tested on multiple machines, but you left out plenty of configuration details, and I was unable to reproduce - perhaps you can provide me with two minimal images illustrating the problem (on another thread - of course, don't include any roms).
I've certainly not seen many people on here reporting the same issue as you, and often issues are totally urelated- I need to be able to reproduce an issue to fix it (or report it upstream).
-
@IronAvocado Please can you provide me the output of this command typed into a terminal over ssh
grep "^pcsx_rearmed" /opt/retropie/configs/all/retroarch-core-options.cfg
-
pi@retropie:~ $ grep "^pcsx_rearmed" /opt/retropie/configs/all/retroarch-core-op tions.cfg pcsx_rearmed_frameskip = "0" pcsx_rearmed_region = "Auto" pcsx_rearmed_pad1type = "default" pcsx_rearmed_pad2type = "default" pcsx_rearmed_pad3type = "default" pcsx_rearmed_pad4type = "default" pcsx_rearmed_pad5type = "default" pcsx_rearmed_pad6type = "default" pcsx_rearmed_pad7type = "default" pcsx_rearmed_pad8type = "default" pcsx_rearmed_multitap1 = "auto" pcsx_rearmed_multitap2 = "auto" pcsx_rearmed_drc = "enabled" pcsx_rearmed_neon_interlace_enable = "disabled" pcsx_rearmed_neon_enhancement_enable = "enabled" pcsx_rearmed_neon_enhancement_no_main = "enabled" pcsx_rearmed_duping_enable = "enabled" pcsx_rearmed_spu_reverb = "enabled" pcsx_rearmed_spu_interpolation = "simple" pcsx_rearmed_pe2_fix = "disabled" pcsx_rearmed_inuyasha_fix = "disabled" pcsx_rearmed_show_bios_bootlogo = "disabled"
This is what I get when I SSH in.
-
@IronAvocado please can you post your
/opt/retropie/configs/all/retroarch.cfg
and/opt/retropie/configs/psx/retroarch.cfg
(use a code block - http://commonmark.org/help/ - or external pastebin site) -
I just tested with those core options on my RPI3 development set-up.
800x600 video, no overclocking, retropie 4.2
road rash plays smooth, and retroarch shows a pretty constant 60fps.
So must be something else different with your set-up
(I'm going to test building from source also). Did you try re-installing the emulator from binary ?
-
Still 60fps when building from source too.
-
@IronAvocado Please also post your
/boot/config.txt
and the output ofuname -a
-
I thought I knew what I was doing but I guess not. When I try to open either of those files I get a permission denied error. Are those the exact lines I need to enter on the command line? Thank you for your patience, I'm pretty stupid.
-
Pretty much confirmed that I'm too stupid to handle diagnostic work, sorry Buzz. Everything I'm doing is returning permission denied errors and I can't get anywhere. I setup root access, logged in as root with my new password and I still get access denied errors when trying to open those files. The only thing I was able to get a result from was when I ran uname -a
Linux retropie 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
Will probably wind up doing more damage to the pi the longer I continue down this path.
-
@IronAvocado use sftp to copy them off or use
cat
to output them directly. -
@BuZz said in Slowdown after update to 4.2:
It doesn't come across as though you appreciate it.
BuZz, most every time I talk to you I've used a crap-ton of smiley faces, "LOLs", and joked around to let it be known how light-hearted I take all this (even despite being in the middle of problems I can't solve...which can be extremely frustrating) . I don't know how else I can convey positive thoughts towards you and your team over the internet...you either believe me or not.
Me posting letting another forum member know they're not alone, not going crazy, that I've experienced things exactly like they're experiencing, and consoling them with the only bit of advice I can give them: to stay on 4.1. - isn't ALL negative if you look at it from that perspective, is it? (it's worked for me....for the most part my 4.1 images are running great!). And granted, I probably harp on my past bad experiences more than I should - sorry, I will try better to just let it go! lol.
@BuZz said in Slowdown after update to 4.2:
@Dochartaigh
Regarding performance issues - You tested on multiple machines, but you left out plenty of configuration details, and I was unable to reproduce - perhaps you can provide me with two minimal images illustrating the problem (on another thread - of course, don't include any roms).The last time I was asked for in-depth details I posted a 46!!!! (forty-six) line-item description of EXACTLY how I set everything up on my systems to help troubleshoot for example…
Even on my last problem with overclocking I did all those AikonCWD benchmarks you asked for, and testing and posting all the Linux kernel? versions the different RetroPie versions use, AND posted those results and all...(I never heard back from anybody adter that....but that's fine, that was around the time I decided to give up on overclocking the Zero anyway...
I would say (besides running out of time on occasion - but to be honest more than likely just giving up after spending so many hours with no solution) that I've spent more time relaying information on my exact systems, tests, things I've tried, etc. than most other people on here. Hell, I won't even post about a problem until I've duplicated it on two or three different systems...
P.S. Feel free to erase all these posts - there's no PM system here which these would be 1000% better suited for, but just wanted you to see my reply - and I'm sorry for crapping up this topic.
-
Maybe there is hope for me afterall!
/boot/config.txt outputs this:pi@retropie:~ $ cat /boot/config.txt # For more options and information see # http://rpf.io/configtxtreadme # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=256 overscan_scale=1
Retroarch gets me this
pi@retropie:~ $ cat /opt/retropie/configs/all/retroarch.cfg ## Skeleton config file for RetroArch # Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc ... # This will be overridden by explicit command line options. # savefile_directory = # Save all save states (*.state) to this directory. # This will be overridden by explicit command line options. # savestate_directory = # If set to a directory, content which is temporarily extracted # will be extracted to this directory. cache_directory = "/tmp/retroarch" # Save all input remapping files to this directory. # input_remapping_directory = # Save all playlist files to this directory. # playlist_directory = # If set to a directory, the content history playlist will be saved # to this directory. # content_history_dir = # Automatically saves a savestate at the end of RetroArch's lifetime. # The path is $SRAM_PATH.auto. # RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set. # savestate_auto_save = false # savestate_auto_load = true # Load libretro from a dynamic location for dynamically built RetroArch. # This option is mandatory. # Path to a libretro implementation. # libretro_path = "/path/to/libretro.so" # A directory for where to search for libretro core implementations. # libretro_directory = # A directory for where to search for libretro core information. # libretro_info_path = # Sets log level for libretro cores (GET_LOG_INTERFACE). # If a log level issued by a libretro core is below libretro_log_level, it is ignored. # DEBUG logs are always ignored unless verbose mode is activated (--verbose). # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3. # libretro_log_level = 0 # Enable or disable verbosity level of frontend. # log_verbosity = false # If this option is enabled, every content file loaded in RetroArch will be # automatically added to a history list. # history_list_enable = true # Enable or disable RetroArch performance counters # perfcnt_enable = false # Path to core options config file. # This config file is used to expose core-specific options. # It will be written to by RetroArch. # A default path will be assigned if not set. core_options_path = "/opt/retropie/configs/all/retroarch-core-options.cfg" # Path to content history file. # RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading. # A default path will be assigned if not set. # content_history_path = # Path to music content history file (optional). # RetroArch keeps track of all music content loaded in the menu and from CLI directly for convenient quick loading. # A default path will be assigned if not set. # content_music_history_path = # Path to image content history file (optional). # RetroArch keeps track of all image content loaded in the menu and from CLI directly for convenient quick loading. # A default path will be assigned if not set. # content_image_history_path = # Path to video content history file (optional). # RetroArch keeps track of all video content loaded in the menu and from CLI directly for convenient quick loading. # A default path will be assigned if not set. # content_video_history_path = # Number of entries that will be kept in content history file. # content_history_size = 100 # Sets the "system" directory. # Implementations can query for this directory to load BIOSes, system-specific configs, etc. system_directory = "/home/pi/RetroPie/BIOS" # Sets start directory for menu file browser. # rgui_browser_directory = # Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY. # Usually set by developers who bundle libretro/RetroArch apps to point to assets. # content_directory = # Assets directory. This location is queried by default when menu interfaces try to look for # loadable assets, etc. # assets_directory = # Dynamic wallpapers directory. The place to store the wallpapers dynamically # loaded by the menu depending on context. # dynamic_wallpapers_directory = # Thumbnails directory. To store thumbnail files. # thumbnails_directory = # Sets start directory for menu config browser. # rgui_config_directory = # Show startup screen in menu. # Is automatically set to false when seen for the first time. # This is only updated in config if config_save_on_exit is set to true, however. # rgui_show_start_screen = true # Flushes config to disk on exit. Useful for menu as settings can be modified. # Overwrites the config. #include's and comments are not preserved. config_save_on_exit = "false" # Load up a specific config file based on the core being used. # core_specific_config = false # Shows hidden files and folders in directory listings. # show_hidden_files = true #### Video # Video driver to use. "gl", "xvideo", "sdl" # video_driver = "gl" # Which context implementation to use. # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl. # By default, tries to use first suitable driver. # video_context_driver = # Windowed x resolution scale and y resolution scale # (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale) # video_scale = 3.0 # Fullscreen resolution. Resolution of 0 uses the resolution of the desktop. # video_fullscreen_x = 0 # video_fullscreen_y = 0 # Start in fullscreen. Can be changed at runtime. # video_fullscreen = false # If fullscreen, prefer using a windowed fullscreen mode. # video_windowed_fullscreen = true # Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor), # suggests RetroArch to use that particular monitor. # video_monitor_index = 0 # Forcibly disable composition. Only works in Windows Vista/7 for now. # video_disable_composition = false # Video vsync. # video_vsync = true # Max amount of swapchain images. # Single buffering = 1, Double buffering = 2, 3 = Triple buffering # video_max_swapchain_images = 3 # Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows # have video problems with sRGB FBO support enabled. # video_force_srgb_disable = false # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance. # video_hard_sync = false # Sets how many frames CPU can run ahead of GPU when using video_hard_sync. # Maximum is 3. # video_hard_sync_frames = 0 # Sets how many milliseconds to delay after VSync before running the core. # Can reduce latency at cost of higher risk of stuttering. # Maximum is 15. video_frame_delay = 5 # Inserts a black frame inbetween frames. # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting. # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2). # video_black_frame_insertion = false # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering. video_threaded = "true" # Use a shared context for HW rendered libretro cores. # Avoids having to assume HW state changes inbetween frames. # video_shared_context = false # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders. video_smooth = "true" # Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio. # video_force_aspect = true # Only scales video in integer steps. # The base size depends on system-reported geometry and aspect ratio. # If video_force_aspect is not set, X/Y will be integer scaled independently. # video_scale_integer = false # A floating point value for video aspect ratio (width / height). # If this is not set, aspect ratio is assumed to be automatic. # Behavior then is defined by video_aspect_ratio_auto. # video_aspect_ratio = # If this is true and video_aspect_ratio is not set, # aspect ratio is decided by libretro implementation. # If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set. video_aspect_ratio_auto = "true" # Forces cropping of overscanned frames. # Exact behavior of this option is implementation specific. # video_crop_overscan = true # Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset) # video_shader = "/path/to/shader.{cg,cgp,glsl,glslp}" # Load video_shader on startup. # Other shaders can still be loaded later in runtime. # video_shader_enable = false # Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access. # video_shader_dir = # CPU-based video filter. Path to a dynamic library. # video_filter = # Defines a directory where CPU-based video filters are kept. # video_filter_dir = # Path to a font used for rendering messages. This path must be defined to enable fonts. # Do note that the _full_ path of the font is necessary! # video_font_path = # Size of the font rendered. video_font_size = "12" # Enable usage of OSD messages. # video_font_enable = true # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values. # [0.0, 0.0] maps to the lower left corner of the screen. # video_message_pos_x = 0.05 # video_message_pos_y = 0.05 # Color for message. The value is treated as a hexadecimal value. # It is a regular RGB hex number, i.e. red is "ff0000". # video_message_color = ffffff # Video refresh rate of your monitor. # Used to calculate a suitable audio input rate. # video_refresh_rate = 59.94 # Allows libretro cores to set rotation modes. # Setting this to false will honor, but ignore this request. # This is useful for vertically oriented content where one manually rotates the monitor. # video_allow_rotate = true # Forces a certain rotation of the screen. # The rotation is added to rotations which the libretro core sets (see video_allow_rotate). # The angle is <value> * 90 degrees counter-clockwise. # video_rotation = 0 #### Audio # Enable audio. # audio_enable = true # Mutes audio. # audio_mute_enable = false # Audio output samplerate. # audio_out_rate = 48000 # Audio resampler backend. Which audio resampler to use. # Default will use "sinc". # audio_resampler = # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio. audio_driver = alsathread # Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on ... # audio_device = # Audio DSP plugin that processes audio before it's sent to the driver. Path to a dynamic library. # audio_dsp_plugin = # Directory where DSP plugins are kept. # audio_filter_dir = # Will sync (block) on audio. Recommended. # audio_sync = true # Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency. # audio_latency = 64 # Enable audio rate control. # audio_rate_control = true # Controls audio rate control delta. Defines how much input rate can be adjusted dynamically. # Input rate = in_rate * (1.0 +/- audio_rate_control_delta) # audio_rate_control_delta = 0.005 # Controls maximum audio timing skew. Defines the maximum change in input rate. # Input rate = in_rate * (1.0 +/- max_timing_skew) # audio_max_timing_skew = 0.05 # Audio volume. Volume is expressed in dB. # 0 dB is normal volume. No gain will be applied. # Gain can be controlled in runtime with input_volume_up/input_volume_down. # audio_volume = 0.0 #### Overlay # Defines a directory where overlays are kept for easy access. # overlay_directory = # Enable or disable the current overlay. # input_overlay_enable = true # Hide the current overlay from appearing inside the menu. # input_overlay_hide_in_menu = true # Path to input overlay. # input_overlay = # Overlay opacity. # input_overlay_opacity = 1.0 # Overlay scale. # input_overlay_scale = 1.0 #### OSK (Onscreen Keyboard) Overlay # Defines a directory where onscreen keyboard overlays are # kept for easy access. # osk_overlay_directory = # Enable onscreen keyboard overlay. # input_osk_overlay_enable = true # Path to onscreen keyboard overlay. # input_osk_overlay = # Onscreen keyboard overlay opacity. # input_osk_overlay_opacity = 1.0 # Onscreen keyboard overlay scale # input_osk_overlay_scale = 1.0 #### Input # Input driver. Depending on video driver, it might force a different input driver. # input_driver = sdl # Input device driver. (Valid: linuxraw, sdl, dinput) input_joypad_driver = "udev" # Path to input remapping file. # input_remapping_path = # Input bind timer timeout. # Amount of seconds to wait until proceeding to the next bind. Default: 5, minimum: 1 # input_bind_timeout = 1 # If enabled, overrides the input binds with the remapped binds set for the current core. # input_remap_binds_enable = true # Maximum amount of users supported by RetroArch. # input_max_users = 16 # Keyboard layout for input driver if applicable (udev/evdev for now). # Syntax is either just layout (e.g. "no"), or a layout and variant separated with colon ("no:nodeadkeys"). # input_keyboard_layout = # Defines axis threshold. Possible values are [0.0, 1.0] # input_axis_threshold = 0.5 # Enable input auto-detection. Will attempt to autoconfigure # joypads, Plug-and-Play style. input_autodetect_enable = "true" # Show the input descriptors set by the core instead of the # default ones. # input_descriptor_label_show = true # Hide input descriptors that were not set by the core. # input_descriptor_hide_unbound = false # Influence how input polling is done inside RetroArch. # 0 : Early - Input polling is performed before call to retro_run. # 1 : Normal - Input polling is performed when retro_input_poll is # requested. # 2 : Late - Input polling is performed on first call to retro_input_state # per frame # # Setting it to 0 or 2 can result in less latency depending on # your configuration. # # When netplay is enabled, the default polling behavior (1) will # be used regardless of the value set here. # input_poll_type_behavior = 1 # Directory for joypad autoconfigs. # If a joypad is plugged in, that joypad will be autoconfigured if a config file # corresponding to that joypad is present in joypad_autoconfig_dir. # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs. # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend. # Requires input_autodetect_enable to be enabled. # joypad_autoconfig_dir = # Sets which libretro device is used for a user. # Devices are indentified with a number. # This is normally saved by the menu. # Device IDs are found in libretro.h. # These settings are overridden by explicit command-line arguments which refer to input devices. # None: 0 # Joypad (RetroPad): 1 # Mouse: 2 # Keyboard: 3 # Generic Lightgun: 4 # Joypad w/ Analog (RetroPad + Analog sticks): 5 # Multitap (SNES specific): 257 # Super Scope (SNES specific): 260 # Justifier (SNES specific): 516 # Justifiers (SNES specific): 772 # input_libretro_device_p1 = # input_libretro_device_p2 = # input_libretro_device_p3 = # input_libretro_device_p4 = # input_libretro_device_p5 = # input_libretro_device_p6 = # input_libretro_device_p7 = # input_libretro_device_p8 = # Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_" # is for keypad keys): # # left, right, up, down, enter, kp_enter, tab, insert, del, end, home, # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus, # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock, # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket, # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. input_player1_a = "x" input_player1_b = "z" input_player1_y = "a" input_player1_x = "s" input_player1_start = "enter" input_player1_select = "rshift" input_player1_l = "q" input_player1_r = "w" input_player1_left = "left" input_player1_right = "right" input_player1_up = "up" input_player1_down = "down" # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 = # Two analog sticks (DualShock-esque). # Bound as usual, however, if a real analog axis is bound, # it can be read as a true analog. # Positive X axis is right, Positive Y axis is down. # input_player1_l_x_plus = # input_player1_l_x_minus = # input_player1_l_y_plus = # input_player1_l_y_minus = # input_player1_r_x_plus = # input_player1_r_x_minus = # input_player1_r_y_plus = # input_player1_r_y_minus = # If desired, it is possible to override which joypads are being used for user 1 through 8. # First joypad available is 0. # input_player1_joypad_index = 0 # input_player2_joypad_index = 1 # input_player3_joypad_index = 2 # input_player4_joypad_index = 3 # input_player5_joypad_index = 4 # input_player6_joypad_index = 5 # input_player7_joypad_index = 6 # input_player8_joypad_index = 7 # Input device buttons. # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig. # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction. # E.g. "h0up" # input_player1_a_btn = # input_player1_b_btn = # input_player1_y_btn = # input_player1_x_btn = # input_player1_start_btn = # input_player1_select_btn = # input_player1_l_btn = # input_player1_r_btn = # input_player1_left_btn = # input_player1_right_btn = # input_player1_up_btn = # input_player1_down_btn = # input_player1_l2_btn = # input_player1_r2_btn = # input_player1_l3_btn = # input_player1_r3_btn = # Menu buttons. # menu_ok_btn = # menu_cancel_btn = # menu_search_btn = # menu_info_btn = # menu_default_btn = # menu_scroll_down_btn = # menu_scroll_up_btn = # Axis for RetroArch D-Pad. # Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. # Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity. # input_player1_left_axis = # input_player1_right_axis = # input_player1_up_axis = # input_player1_down_axis = # Holding the turbo while pressing another button will let the button enter a turbo mode # where the button state is modulated with a periodic signal. # The modulation stops when the button itself (not turbo button) is released. # input_player1_turbo = # Describes the period and how long of that period a turbo-enabled button should behave. # Numbers are described in frames. # input_turbo_period = 6 # input_turbo_duty_cycle = 3 # This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity. # All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well. # Toggles fullscreen. # input_toggle_fullscreen = f # Saves state. # input_save_state = f2 # Loads state. # input_load_state = f4 # State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline). # When slot is != 0, path will be $path%d, where %d is slot number. # input_state_slot_increase = f7 # input_state_slot_decrease = f6 # Toggles between fast-forwarding and normal speed. # input_toggle_fast_forward = space # Hold for fast-forward. Releasing button disables fast-forward. # input_hold_fast_forward = l # Key to exit RetroArch cleanly. # Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc. # On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization. input_exit_emulator = "escape" # Applies next and previous shader in directory. input_shader_next = "m" input_shader_prev = "n" # Hold button down to rewind. Rewinding must be enabled. input_rewind = "r" # Toggle between recording and not. # input_movie_record_toggle = o # Toggle between paused and non-paused state # input_pause_toggle = p # Frame advance when content is paused # input_frame_advance = k # Reset the content. # input_reset = h # Cheats. # input_cheat_index_plus = y # input_cheat_index_minus = t # input_cheat_toggle = u # Mute/unmute audio # input_audio_mute = f9 # Take screenshot # input_screenshot = f8 # Netplay flip users. # input_netplay_flip_players = i # Hold for slowmotion. # input_slowmotion = e # Enable other hotkeys. # If this hotkey is bound to either keyboard, joybutton or joyaxis, # all other hotkeys will be disabled unless this hotkey is also held at the same time. # This is useful for RETRO_KEYBOARD centric implementations # which query a large area of the keyboard, where it is not desirable # that hotkeys get in the way. # Alternatively, all hotkeys for keyboard could be disabled by the user. # input_enable_hotkey_btn = # Increases audio volume. # input_volume_up = kp_plus # Decreases audio volume. # input_volume_down = kp_minus # Toggles to next overlay. Wraps around. # input_overlay_next = # Toggles eject for disks. Used for multiple-disk content. # input_disk_eject_toggle = # Cycles through disk images. Use after ejecting. # Complete by toggling eject again. # input_disk_next = # Toggles menu. # input_menu_toggle = f1 # RetroPad button combination to toggle menu # 0 = none, 1 = L + R + Y + D-Pad Down, 2 = L3 + R3, 3 = Start + Select # input_menu_toggle_gamepad_combo = 0 # allow any RetroPad to control the menu all_users_control_menu = "true" # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse, # and keeps the mouse pointer inside the window to allow relative mouse input # to work better. # input_grab_mouse_toggle = f11 #### Menu # Menu driver to use. "rgui", "lakka", etc. menu_driver = "rgui" # If disabled, the libretro core will keep running in the background when we # are in the menu. # menu_pause_libretro = false # Enable mouse input inside the menu. # menu_mouse_enable = false # Enable touch input inside the menu. # menu_pointer_enable = false # Shows current date and/or time inside menu. # menu_timedate_enable = true # Shows current core inside menu. # menu_core_enable = true # Path to an image to set as menu wallpaper. # menu_wallpaper = # Dynamically load a new wallpaper depending on context. # menu_dynamic_wallpaper_enable = false # Type of thumbnail to display. 0 = none, 1 = snaps, 2 = titles, 3 = boxarts # menu_thumbnails = 0 # Wrap-around to beginning and/or end if boundary of list is reached horizontally or vertically # menu_navigation_wraparound_enable = false # Filter files being show in 'Load Content' by supported extensions # menu_navigation_browser_filter_supported_extensions_enable = true # Collapse subgroup settings into main group to create one big listing of settings # per category. # menu_collapse_subgroups_enable = false #### UI # Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored # by video driver. # suspend_screensaver_enable = true # Start UI companion driver's interface on boot (if available). # ui_companion_start_on_boot = true #### Camera # Override the default camera device the camera driver uses. This is driver dependant. # camera_device = # Override the default privacy permission for cores that want to access camera services. Is "false" by default. # camera_allow = false #### Location # Override the default privacy permission for cores that want to access location services. Is "false" by default. # location_allow = false #### Core Updater # URL to core update directory on buildbot. # core_updater_buildbot_url = "http://buildbot.libretro.com" # URL to assets update directory on buildbot. # core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/" # After downloading, automatically extract archives that the downloads are contained inside. # core_updater_auto_extract_archive = true #### Network # When being client over netplay, use keybinds for user 1. # netplay_client_swap_input = false # The username of the person running RetroArch. This will be used for playing online, for instance. # netplay_nickname = # The amount of delay frames to use for netplay. Increasing this value will increase # performance, but introduce more latency. # netplay_delay_frames = 0 # Netplay mode for the current user. # false is Server, true is Client. # netplay_mode = false # Enable or disable spectator mode for the user during netplay. # netplay_spectator_mode_enable = false # The IP Address of the host to connect to. # netplay_ip_address = # The port of the host IP Address. Can be either a TCP or UDP port. # netplay_ip_port = 55435 #### Misc # Enable rewinding. This will take a performance hit when playing, so it is disabled by default. rewind_enable = "false" # Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer. # The buffer should be approx. 20MB per minute of buffer time. rewind_buffer_size = "10" # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed. rewind_granularity = "2" # Pause gameplay when window focus is lost. # pause_nonactive = true # Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise. # The interval is measured in seconds. A value of 0 disables autosave. # autosave_interval = # Path to content database directory. # content_database_path = # Path to cheat database directory. # cheat_database_path = # Directory to dump screenshots to. # screenshot_directory = # Records video after CPU video filter. # video_post_filter_record = false # Records output of GPU shaded material if available. # video_gpu_record = false # Screenshots output of GPU shaded material if available. video_gpu_screenshot = "true" # Block SRAM from being overwritten when loading save states. # Might potentially lead to buggy games. # block_sram_overwrite = false # When saving a savestate, save state index is automatically increased before # it is saved. # Also, when loading content, the index will be set to the highest existing index. # There is no upper bound on the index. # savestate_auto_index = false # Slowmotion ratio. When slowmotion, content will slow down by factor. # slowmotion_ratio = 3.0 # The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap). # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded. # Do not rely on this cap to be perfectly accurate. # If this is set at 0, then fastforward ratio is unlimited (no FPS cap) # fastforward_ratio = 0.0 # Enable stdin/network command interface. # network_cmd_enable = false # network_cmd_port = 55355 # stdin_cmd_enable = false #### Bundle extraction input_enable_hotkey = "nul" auto_remaps_enable = "true" input_player1_analog_dpad_mode = "1" input_player2_analog_dpad_mode = "1" input_player3_analog_dpad_mode = "1" input_player4_analog_dpad_mode = "1" menu_unified_controls = "true" fps_show = "true"
Retroarchpsx shows this
pi@retropie:~ $ cat /opt/retropie/configs/psx/retroarch.cfg # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/psx/" #include "/opt/retropie/configs/all/retroarch.cfg"
uname -a outputs this
Linux retropie 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
-
@Dochartaigh you saying things like "everything after 4.1.5 (or there about) has been much slower" is your usual hyperbole and totally misunderstanding what retropie even is. pcsx speed has nothing to do with how one NES emulator was apparently slower for you, or whatever it was.
i've also asked you for information before and after having you crap up multiple threads moaning about an issue that you and your 97 cousins have had with their identical retropie zero systems.. https://retropie.org.uk/forum/topic/6264/you-have-to-use-identical-controllers-for-multiplayer-games-please-prove-me-wrong/6, only to be met with silence.
i'm teasing, but it is tiring. the 'retropie team' is likely just buzz and his free time for these kind of issues. the moment anyone brings hyperbole, demands or attitude to their requests, i often tune out. i read that sort of thing in much of yours. this is supposed to be a fun hobby for everyone.
-
@dankcushions said in Slowdown after update to 4.2:
i've also asked you for information before and after having you crap up multiple threads moaning about an issue that you and your 97 cousins have had with their identical retropie zero systems.. https://retropie.org.uk/forum/topic/6264/you-have-to-use-identical-controllers-for-multiplayer-games-please-prove-me-wrong/6, only to be met with silence.
Yes, that was one of those times, that after somebody made it abundantly clear that if my "crappy controller doesn't have any unique identifiers", that what I was looking to do was a lost cause, so why would anybody in their right mind still continue to pursue that if it's impossible? So I stopped. (p.s. that quote was from you, FYI :P
And dankcushions, I know it's tiring. Don't you think I know how tiring it is? Do you know how many HUNDREDS of hours I've tried getting this program to work correctly? How tiring do you think it is when I can repeat, over and over and f-ing over and over and over again, on multiple setups the SAME EXACT issues. Time and time again. To the "T". Identical results. Spreadsheeted numbers, error codes, FPS rates, version numbers, etc. etc. of results. No matter what brand SD card, what controller, how many brand-new Pi's I try, what 8 different USB hubs I use, etc. etc. etc. the same MULTIPLE problems keep coming up (which I've posted ALL over the place here and elsewhere, hoping, dreaming, wishing for a solution to any one of them), and the same reply (in essence) I get (most) Every. Single. Time. is "nobody else has this problem, therefore it isn't really a problem, you can't be helped". ...even the rare times I cross-post about other people I see with the same/similar problem it's still somehow not a problem to be solved...(bigger fish to fry - I get it). It's just tiring...that is also why I give up (like the above topic) if it's a lost cause...(and is why I'm still on 4.1.0 since it gives me the least problems).
Yet I still truck-on. Still post where I can with my small amount of knowledge if it'll help some other people. I am very sorry (honestly) if it bugs people like you and BuZz when I on occasion vent by reiterating my negative experiences I've had with this program. I will try my best (from here forward) to not do it again, ok?
-
Hey guys, can we keep this thread on topic please?
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.