Open LukasThyWalls opened 3 years ago
Although there is any feedback at all, i have continued testing things, and now i can say i was wrong and this exagerated movement effect is created by the PGXP Primitive Culling option. I don't know why i didn't pick that out with my other testings.
However, If i disable that in this game, all the texture movements and holes it should be fixing appears. I made a video showing the difference https://youtu.be/N3TXvBnxA0s
About the first glitch (Squares distorting the image), they appear when the internal resolution is more than 1x. I didn't find other option what changes the behaviour.
Thanks.
Edit: That video is using Bettle PSX HW 0.9.44.1 4b66169.
I continued testing, and with PCSXR-PGXP (1.9.95.0, 02-03-2019), and this scene looks different. In fact, when appears the "pixels" in Bettle PSX HW, in PCSXR-PGXP (With PGXP with all options enabled) the entire screen becomes pixelated. You can see this here https://youtu.be/J7b171E6WEI
Description
Playing MGS1 (Spanish version), reaching the second play scene (after the elevetor, the facility entrance), it began to appears graphical glitches and strange behaviours in the image during the cutscenes. Passing those cutscenes all seems to be fine again (i didn't try later cutscenes yet), but here is when it began to happen, because in the docks, i didn't see anything of this.
One of the glitches i see is they are little squares distorsion in the textures, which appear and dissappear, blink, during the cutscenes. If i play with 1x internal resolution, all looks fine. When i touch the internal GPU resolution, is when they began to appears, and they are bigger and more noticiable when i increase that (i tested 2x, 3x and 4x, which is where the screenshots and videos are).
Other one is the movement/vibration effect in the image when the helicopter leaves, go over the place and it's overly distorted (very noticiable with the up to down view from the helicopter), much more than it should be. This is not affected to the internal resolution, because in 1x appears as appears in 4x.
I tried to change settings (PGXP On/Off, Texture Filters, MSAA...) and both things looks exactly the same with every setting.
Expected behavior
I tried this with mednafen, but it doesn't do anything like that, all seems fine, because i can't increasing the internal GPU resolution, and i didn't find any way to do it there. Both glitches doesn't show in the last version 1.26.1 using MedGui Reborn GUI.
Here is a video from Mednafen 1.26.1 with no glitches https://youtu.be/M7v5ApSayK0
Also tried Duckstation to see if it does something similar (It can increase the internal GPU resolution), but it looks fine. No distorsion squares, and the movement/vibration effect is lighter and not over the place like with Beetle PSX HW, it's like it shows in Mednafen with 1x internal GPU resolution, but with higher resolution.
Actual behavior
These are screenshots from RetroArch 1.9.0 with Beetle PSX HW 0.9.44.1 dd97d81, with the settings used below
From the first graphical glitch noted:
![MetalGearSolid-201130-223710](https://user-images.githubusercontent.com/1467366/102494833-8fa15b80-4075-11eb-9df6-755777cea3be.png)
From the second one:![MetalGearSolid-201130-223703](https://user-images.githubusercontent.com/1467366/102494839-9334e280-4075-11eb-88b0-44a42448bf93.png)
An a video, which i think is more useful to see both glitches https://youtu.be/sQHEtVhw55k
Version/Commit
Beetle PSX HW 0.9.44.1 dd97d81
Core options
Beetle PSX HW Configuration file (Click to view):
``` beetle_psx_hw_adaptive_smoothing = "disabled" beetle_psx_hw_analog_calibration = "disabled" beetle_psx_hw_analog_toggle = "disabled" beetle_psx_hw_aspect_ratio = "corrected" beetle_psx_hw_cd_access_method = "sync" beetle_psx_hw_cd_fastload = "2x(native)" beetle_psx_hw_core_timing_fps = "force_progressive" beetle_psx_hw_cpu_dynarec = "disabled" beetle_psx_hw_cpu_freq_scale = "100%(native)" beetle_psx_hw_crop_overscan = "enabled" beetle_psx_hw_depth = "16bpp(native)" beetle_psx_hw_display_internal_fps = "disabled" beetle_psx_hw_display_vram = "disabled" beetle_psx_hw_dither_mode = "internal resolution" beetle_psx_hw_dump_textures = "disabled" beetle_psx_hw_dynarec_eventcycles = "128" beetle_psx_hw_dynarec_invalidate = "full" beetle_psx_hw_enable_memcard1 = "enabled" beetle_psx_hw_enable_multitap_port1 = "disabled" beetle_psx_hw_enable_multitap_port2 = "disabled" beetle_psx_hw_filter = "SABR" beetle_psx_hw_filter_exclude_2d_polygon = "all" beetle_psx_hw_filter_exclude_sprite = "all" beetle_psx_hw_frame_duping = "disabled" beetle_psx_hw_gpu_overclock = "1x(native)" beetle_psx_hw_gte_overclock = "disabled" beetle_psx_hw_gun_cursor = "cross" beetle_psx_hw_gun_input_mode = "lightgun" beetle_psx_hw_image_crop = "disabled" beetle_psx_hw_image_offset = "disabled" beetle_psx_hw_image_offset_cycles = "0" beetle_psx_hw_initial_scanline = "0" beetle_psx_hw_initial_scanline_pal = "0" beetle_psx_hw_internal_resolution = "4x" beetle_psx_hw_last_scanline = "239" beetle_psx_hw_last_scanline_pal = "287" beetle_psx_hw_line_render = "disabled" beetle_psx_hw_mdec_yuv = "disabled" beetle_psx_hw_memcard_left_index = "0" beetle_psx_hw_memcard_right_index = "1" beetle_psx_hw_mouse_sensitivity = "100%" beetle_psx_hw_msaa = "4x" beetle_psx_hw_negcon_deadzone = "0%" beetle_psx_hw_negcon_response = "linear" beetle_psx_hw_pal_video_timing_override = "disabled" beetle_psx_hw_pgxp_2d_tol = "8px" beetle_psx_hw_pgxp_mode = "memory + CPU" beetle_psx_hw_pgxp_nclip = "enabled" beetle_psx_hw_pgxp_texture = "enabled" beetle_psx_hw_pgxp_vertex = "disabled" beetle_psx_hw_renderer = "hardware" beetle_psx_hw_renderer_software_fb = "enabled" beetle_psx_hw_replace_textures = "disabled" beetle_psx_hw_scaled_uv_offset = "disabled" beetle_psx_hw_shared_memory_cards = "disabled" beetle_psx_hw_skip_bios = "disabled" beetle_psx_hw_super_sampling = "disabled" beetle_psx_hw_track_textures = "disabled" beetle_psx_hw_use_mednafen_memcard0_method = "libretro" beetle_psx_hw_widescreen_hack = "disabled" beetle_psx_hw_wireframe = "disabled" ```Video Options in RetroArch (If it's needed more, i can upload the entire config file, click to view):
``` video_adaptive_vsync = "false" video_allow_rotate = "true" video_aspect_ratio = "-1.000000" video_aspect_ratio_auto = "false" video_black_frame_insertion = "false" video_context_driver = "" video_crop_overscan = "true" video_ctx_scaling = "false" video_disable_composition = "false" video_driver = "vulkan" video_filter = ":\filters\video\Normal2x.filt" video_filter_dir = ":\filters\video" video_font_enable = "true" video_font_path = "" video_font_size = "32.000000" video_force_aspect = "true" video_force_srgb_disable = "false" video_frame_delay = "0" video_fullscreen = "false" video_fullscreen_x = "1280" video_fullscreen_y = "960" video_gpu_record = "false" video_gpu_screenshot = "true" video_hard_sync = "false" video_hard_sync_frames = "0" video_layout_directory = ":\layouts" video_layout_enable = "true" video_layout_path = "" video_layout_selected_view = "0" video_max_swapchain_images = "3" video_message_color = "ffff00" video_message_pos_x = "0.050000" video_message_pos_y = "0.050000" video_monitor_index = "0" video_msg_bgcolor_blue = "0" video_msg_bgcolor_enable = "false" video_msg_bgcolor_green = "0" video_msg_bgcolor_opacity = "1.000000" video_msg_bgcolor_red = "0" video_post_filter_record = "false" video_record_config = "" video_record_quality = "4" video_record_scale_factor = "1" video_record_threads = "2" video_refresh_rate = "60.000000" video_rotation = "0" video_scale = "1.000000" video_scale_integer = "false" video_shader_delay = "0" video_shader_dir = ":\shaders" video_shader_enable = "false" video_shader_watch_files = "false" video_shared_context = "false" video_smooth = "false" video_stream_config = "" video_stream_port = "56400" video_stream_quality = "10" video_stream_scale_factor = "1" video_stream_url = "" video_swap_interval = "1" video_threaded = "false" video_vsync = "false" video_window_opacity = "100" video_window_save_positions = "true" video_window_show_decorations = "true" video_windowed_fullscreen = "true" video_windowed_position_height = "960" video_windowed_position_width = "1280" video_windowed_position_x = "210" video_windowed_position_y = "10" ```Environment information