libretro / LRPS2

GNU General Public License v2.0
165 stars 48 forks source link

Add "GPU Palette Conversion" core option #200

Closed bslenul closed 2 years ago

bslenul commented 2 years ago

Added a "GPU Palette Conversion" core option (previously called "Allow 8-Bit Textures" in standalone) in the "Video" category, it helps a lot in some games, here's an example with Champions of Norrath (https://wiki.pcsx2.net/index.php/Champions_of_Norrath):

OFF (default):

https://user-images.githubusercontent.com/33353403/150971899-b0ced5fa-2e37-49bf-84dd-b14bb085a931.mp4

You can see the game running in slowmo, dropping to ~34fps at some point.

ON:

https://user-images.githubusercontent.com/33353403/150971920-21e673a7-cf01-43e4-9008-19be031f40da.mp4

Now it runs very well :)

And minor changes to align stuff in "options_enums.h", useless but it looks a bit cleaner.

Snul9 commented 2 years ago

GTA LCS has benefited a lot from this, I tested it on Series S and now it runs much better!

TheRhysWyrill commented 2 years ago

Unfortunately for me regardless of whether I have GPU Palette Conversion enabled or not makes no difference to the performance of Champions Of Norrath, it still runs at a consistent 33fps.

I'm using the latest RetroArch source on Xbox Series X and my PCSX2 core version is https://github.com/libretro/pcsx2/commit/7d741b5c7f3186bbdda7529525d2842017f7b6dc, anything that could be done to achieve a more stable fps with this game on my end?

bslenul commented 2 years ago

Sorry I should've clarified, as stated in the PCSX2 wiki link the game needs both "GPU Palette Conversion" and "Fast Texture Invalidation" options to be turned ON.

TheRhysWyrill commented 2 years ago

Sorry I should've clarified, as stated in the PCSX2 wiki link the game needs both "GPU Palette Conversion" and "Fast Texture Invalidation" options to be turned ON.

I have both of those options turned on, sorry, I should've said so in my initial post but yeah, even with both of those enabled there is still 0 difference in performance.

bslenul commented 2 years ago

Hm weird, unfortunately I don't have a Xbox to test :/ Also make sure to close RetroArch after turning ON these options, they do not apply on-the-fly. And make sure they're still ON when launching the game again, the game tends to crash on close content on my PC, so it's possible that the core options didn't save properly on exit.

TheRhysWyrill commented 2 years ago

Hm weird, unfortunately I don't have a Xbox to test :/ Also make sure to close RetroArch after turning ON these options, they do not apply on-the-fly. And make sure they're still ON when launching the game again, the game tends to crash on close content on my PC, so it's possible that the core options didn't save properly on exit.

Not the case unfortunately, whenever I change any option in any of the cores I use the "Flush Options to Disk" to manually force the core options to save, after which I close the content and restart RetroArch, both options are enabled on boot and as I said earlier has no impact on the games performance for some reason.

TheRhysWyrill commented 2 years ago

Just tested this on my PC and can confirm that with both of those options enabled Champions of Norrath is working just fine, it's a smooth 60fps for the most part, this means that the issue is something to do with the UWP/Xbox port of RetroArch unfortunately.

bslenul commented 2 years ago

That sucks :( And all the other core options are identical between your PC and the Xbox? Just to make sure it's not another option conflicting somehow.

TheRhysWyrill commented 2 years ago

Unfortunately the core options are identical between my Xbox and PC, I'm not entirely sure where the issue lies honestly :/

bslenul commented 2 years ago

No idea either, might be worth opening an issue about this. If you have Silent Hill - Shattered Memories you could try the "Fast Texture Invalidation" option alone, to see if that works or not (see #191, just start a new game and see if the NPC is visible or not).

TheRhysWyrill commented 2 years ago

No idea either, might be worth opening an issue about this. If you have Silent Hill - Shattered Memories you could try the "Fast Texture Invalidation" option alone, to see if that works or not (see #191, just start a new game and see if the NPC is visible or not).

Well on the plus side it would seem that Fast Texture Invalidation does work, just tested Shattered Memories and yeah, without it enabled the therapist is invisible so I guess the issue is more to do with GPU Palette Conversion not working as intended.

Update: Just tested GTA: Liberty City Stories with the GPU Palette Conversion option enabled and the fps was a smooth 60fps in the opening cutscenes, even more confused that these options refuse to work with Champions of Norrath though, doubt this would effect anything but what region is your Champions of Norrath?

bslenul commented 2 years ago

Yeah, even more confusing indeed... 😅 I'm using the USA version of the game.

TheRhysWyrill commented 2 years ago

Yeah, even more confusing indeed... 😅 I'm using the USA version of the game.

In that case I'm out of ideas as I'm also on the NTSC version but no dice... At least I know the options work as intended 🙂 Aside from trying the PAL version I don't think there's much I can really do to troubleshoot this 😅 Sorry for hogging the pull request with this btw! 😅

kamb205 commented 2 years ago

GTA LCS has benefited a lot from this, I tested it on Series S and now it runs much better!

How exactly, because I have the series S and it runs bad. It keeps stuttering on everything.