Skip to content
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

Gran Turismo 6 Graphical Bugs. #12567

Open
Satan86 opened this issue Aug 27, 2022 · 8 comments
Open

Gran Turismo 6 Graphical Bugs. #12567

Satan86 opened this issue Aug 27, 2022 · 8 comments

Comments

@Satan86
Copy link

Satan86 commented Aug 27, 2022

Quick summary

Gran Turismo 6 has plenty of graphical inaccuracies on RPCS3. There are a lot of different ways to trigger them and many different settings affect the game.

Details

  • Screen flickering issue.

Screen flickers when Write Colour Buffers is enabled. If WCB is disabled, Force CPU Blit can be used to fix that issue. A video will show the issue below.

  • Car reflections issue.

Car reflections Work incorrectly.

Car Reflections images with different settings.

No Extra Settings. No extra settings

Read Colour Buffers enabled. Note the black stuff on the Car. Read Colour Buffers enabled.

PS3. Car Reflection PS3

  • Missing MLAA

Gran Turismo 6 uses MLAA, but it does NOT render correctly under normal circumstances. There are ways to make it render, however. This is the most complicated issue with the game.
With default settings, it will not have any anti-aliasing. With Write Colour Buffers enabled, MLAA only works if there are no 2D elements on screen. With Write Colour Buffers and Read Colour Buffers, it renders even with 2D elements on screen, at the cost of further broken reflections as show cased in the previous bug. The video below shows the behaviour with only WCB enabled, where 2D elements disable MLAA. The video also shows the flickering issue mentioned earlier. Epilepsy warning.
https://www.youtube.com/watch?v=5dnze1i_jU4

Attach a log file

RPCS3.log.gz

Attach capture files for visual issues

https://drive.google.com/file/d/1lu-o8nywQs8xJVNkYlzmx88L-tGvR22z/view?usp=sharing This RSX capture is for the Car Reflections issue. If you want any other captures, let me know and I shall provide them.

System configuration

Ryzen 5 5600x, GTX 1050 Ti driver 516.59, Windows 11.

Other details

The car reflection issue has already been mentioned in #9133, while the MLAA issue has already been reported in #11290, albeit without some information. Let me know if I should make separate issues with each bug or add information to other, already reported issues.

@kd-11
Copy link
Contributor

kd-11 commented Aug 28, 2022

1.RCB causes problems because of how it detects clobbered memory using tags. This is not good enough.
We could just be pessimistic about it and assume everything unlocked needs a reupload, but this is tricky and will eat up performance on some games. I'll have to think about it.
2. The reason force CPU blit works is because of 1. Since it never reads any input it always copies over an output of all black. No pixels are detected to change, so no reload.
3. The reason reload causes flicker is because SPU is writing stuff (postfx output)_ while RSX is reading it (RCB reload). There are no good solutions here that don't introduce slowdown.
I guess I can add the required synchronization and put it under strict mode to get rid of 1 and 3.

@Kwangnofx

This comment was marked as off-topic.

@coffeecodeconverter
Copy link

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec:
Laptop
Ryzen 7840 Hs - with 780m iGPU
16 GB 5600 MTS DDR5 RAM
Nvidia 4060 mobile GPU 8GB GDDR6
Crucial P3 Pro M.2 SSD - 5000 read 3500 write

@casioforever
Copy link

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec: Laptop Ryzen 7840 Hs - with 780m iGPU 16 GB 5600 MTS DDR5 RAM Nvidia 4060 mobile GPU 8GB GDDR6 Crucial P3 Pro M.2 SSD - 5000 read 3500 write

Which Version ? Physical Or Digital ? Eur Or US ?
Which Update v1.02 or v1.05 ?

@kryst4line
Copy link

@coffeecodeconverter This worked for me on 7800x3D, thank you very much!!

@goldstinger
Copy link

goldstinger commented May 19, 2024

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec: Laptop Ryzen 7840 Hs - with 780m iGPU 16 GB 5600 MTS DDR5 RAM Nvidia 4060 mobile GPU 8GB GDDR6 Crucial P3 Pro M.2 SSD - 5000 read 3500 write

Hello, fellow person here that has been following GT6 development on & off here for half a decade at this point for it to reach a state where it's readily usable & available on my hardware. Can confirm that these settings work better than the current settings listed on the Wiki.

Specs:
Windows 10 Pro 64-bit on Desktop Computer
Intel Core i7-7700 @ 3.60GHz, 4 core, 8 logical processors
16gb RAM DDR4
Nvidia GeForce GTX 1070
Both GT6 Data & Emulator on HDD hardware (Seagate 2tb)

Tested on BCUS98296 (NA Physical Release) manually patched to 1.05.

Current settings on wiki will see an average of 15-20fps, constant flickering in specific tracks or certain sections of track (London City is a big offender, nearly unplayable, same with Trial Mountain), and frame dips below 10fps during some car reward screens. As well as a slew of incorrect car model mappings and shading.

Tested these settings provided here, and saw an average of 30-35fps, no more screen flickering, and car model mappings and shading fixed. Very refreshing to see this game above 30fps on older hardware. If you have the above stated issues with reaching the intro screen, run the game using the settings stated in the wiki first and create a game save, and then run using the settings here after the save is made.

Now, these settings does corrupt/break some of the images in the game for the car icons, portraits for races, and icons for track brandings, stuff like that comparative to the Wiki-suggested settings, but does not have a negative impact on the performance and is well worth the trade-off.

@coffeecodeconverter
Copy link

coffeecodeconverter commented Sep 8, 2024

Which Version ? Physical Or Digital ? Eur Or US ? Which Update v1.02 or v1.05 ?

version 1.0.0 (as stated) any and all version updates crashed. so 1.0.1 crashed, 1.0.2 crashed, and so on, every update, tested each in between. 1.0.0 was the only version that worked.

and European Version.

and physical version of the ROM, not the digital version

@Evolution0
Copy link

Evolution0 commented Sep 12, 2024

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec: Laptop Ryzen 7840 Hs - with 780m iGPU 16 GB 5600 MTS DDR5 RAM Nvidia 4060 mobile GPU 8GB GDDR6 Crucial P3 Pro M.2 SSD - 5000 read 3500 write

RPCS3 version 0.0.33-16917

Flickering in races, slowdown to 1 FPS in car purchase scene/wheel purchase scene, odd reflections in some glass (Fairlady Z 71' headlight glass)

Everything else is considerably better over wiki settings but its a tradeoff between broken shading (blown out sun glare, broken paint, blocky reflections) and being unplayable.

Tested on BCUS98296 patch 1.05

Specs:
Windows 10 x64
Ryzen 7 3700X
RX 6900XT
32GB DDR4
RPCSX3 & Game are running off of a Samsung 990 Pro 2TB (read/write should NOT be an issue)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants