Closed ofry closed 6 months ago
Pretty sure this is a "won't fix" situation, as the crackling is just what happens when the audio buffer empties. You can greatly increase the audio_rate_control_delta and it will resample the audio on-the-fly to avoid crackling but will sound very strange.
This would only be fixable in cases were the CPU is running full speed but the video renderer can't cope... which is probably not that often nowdays.
On Thu, Aug 17, 2017 at 9:19 PM, hizzlekizzle notifications@github.com wrote:
Pretty sure this is a "won't fix" situation, as the crackling is just what happens when the audio buffer empties. You can greatly increase the audio_rate_control_delta and it will resample the audio on-the-fly to avoid crackling but will sound very strange.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/5325#issuecomment-323242025, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpC0AcnAkqnXoXkOTYai486iysuLIw7ks5sZPTDgaJpZM4O6-KS .
Hm... I think I have THAT case.
My CPU: Intel i7 3930K. I think it's enough for it. I can make "stress test":
1) Set Windowed mode RA. 2) Open Task Manager. 3) See CPU load.
Beetle PSX HW options:
beetle_psx_hw_renderer = "opengl"
beetle_psx_hw_renderer_software_fb = "enabled"
beetle_psx_hw_adaptive_smoothing = "enabled"
beetle_psx_hw_filter = "SABR"
beetle_psx_hw_internal_resolution = "4x"
beetle_psx_hw_internal_color_depth = "32bpp"
beetle_psx_hw_wireframe = "disabled"
beetle_psx_hw_display_vram = "disabled"
beetle_psx_hw_pgxp_mode = "memory only"
beetle_psx_hw_pgxp_caching = "enabled"
beetle_psx_hw_pgxp_texture = "enabled"
beetle_psx_hw_dither_mode = "internal resolution"
beetle_psx_hw_scale_dither = "enabled"
beetle_psx_hw_initial_scanline = "0"
beetle_psx_hw_last_scanline = "239"
beetle_psx_hw_initial_scanline_pal = "0"
beetle_psx_hw_last_scanline_pal = "287"
beetle_psx_hw_frame_duping_enable = "enabled"
beetle_psx_hw_widescreen_hack = "disabled"
beetle_psx_hw_crop_overscan = "enabled"
beetle_psx_hw_image_crop = "disabled"
beetle_psx_hw_image_offset = "disabled"
beetle_psx_hw_display_internal_framerate = "disabled"
beetle_psx_hw_analog_calibration = "disabled"
beetle_psx_hw_analog_toggle = "disabled"
beetle_psx_hw_enable_multitap_port1 = "disabled"
beetle_psx_hw_enable_multitap_port2 = "disabled"
beetle_psx_hw_cpu_overclock = "enabled"
beetle_psx_hw_cdimagecache = "enabled"
beetle_psx_hw_skipbios = "disabled"
beetle_psx_hw_use_mednafen_memcard0_method = "libretro"
beetle_psx_hw_enable_memcard1 = "enabled"
beetle_psx_hw_shared_memory_cards = "disabled"
Shader options:
shaders = "5"
shader0 = "C:\retroarch\shaders\shaders_glsl\xbr\shaders\super-xbr\super-4xbr-3d-pass0.glsl"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "C:\retroarch\shaders\shaders_glsl\xbr\shaders\super-xbr\super-4xbr-3d-pass1.glsl"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "C:\retroarch\shaders\shaders_glsl\xbr\shaders\super-xbr\super-4xbr-3d-pass2.glsl"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "C:\retroarch\shaders\shaders_glsl\xbr\shaders\super-xbr\super-4xbr-3d-pass3.glsl"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "C:\retroarch\shaders\shaders_glsl\xbr\shaders\super-xbr\custom-jinc2-sharper.glsl"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
parameters = "XBR_EDGE_STR;XBR_WEIGHT;XBR_ANTI_RINGING;JINC2_WINDOW_SINC;JINC2_SINC;JINC2_AR_STRENGTH"
XBR_EDGE_STR = "0.600000"
XBR_WEIGHT = "1.000000"
XBR_ANTI_RINGING = "1.000000"
JINC2_WINDOW_SINC = "0.420000"
JINC2_SINC = "0.920000"
JINC2_AR_STRENGTH = "1.000000"
XBR-family shaders gives very good image, but very slow... so it can be issue.
So CPU load was 8% only...
@hizzlekizzle Why it's "won't fix" situation?
I mean smth better "audio sync" option, so audio speed can be same as video speed and without crackling.
@ofry It's possible your GPU is the bottleneck here, with that complex shader chain blocking the CPU while waiting on it and thus lowering the framerate without using much CPU.
I think it's related: https://github.com/libretro/RetroArch/issues/5916#issuecomment-440486210
Update the core, and check your vsync settings. There are a few different cores for you to try out too.
First and foremost consider this:
Description
Audio crackling if RA running NOT in fullspeed.
For example, full speed = 60 FPS. If game runs on speed near 45 FPS (if I turned on too many or too heavy shaders...) audio is bad crackling.
Expected behavior
Audio should go by same speed as video (same slowness rate), without crackling. Example - DesMuMe standalone, ePSXe with heavy software renderer video plugins etc.
I think it's on all versions of RA now. I use latest RA nightly: 6d32929