hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.07k stars 2.15k forks source link

[?Only some RADEON?][Windows][OpenGL][FPS Go Down]GRAN TURISMO (UCJS10100) goes down FPS in any Menu Screen. #13460

Closed nassau-tk closed 2 years ago

nassau-tk commented 4 years ago

What happens?

FPS very goes down In Menu Screen. But,Playing(Driving) screen is good FPS no problem.

The issue has strange point. It's will happen only Windwos/OpenGL. Android/OpenGL will not go down any FPS.

I tested 1x resolution and window size but It happen. I checked the log-console. But red code was nothing.

"Android phone device better than Windows10 DeskTop PC." It's surprise!

What should happen?

Windwos/OpenGL should became same as Android/OpenGL.

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

PPSSPP Ver.:1.10.3-735 OS:Windows10(64-bit)Japanese CPU:Ryzen7 3800X(8-core) GPU:RADEON RX5700XT Resolution:2560×1440 RAM:32GB

PPSSPP Ver.:1.10.3-735 OS:Android 9.0 DeviceName:SONY SO-02K / Xperia XZ1 Compact(Japan) CPU:Snapdragon835(Octa-core) GPU:Adreno 540 Resolution:720×1280 RAM:4GB ROM:32GB ExternalStrage:microSDXC 512GB

Dump files here. (I don't know whether it's necessary.) GranTurismo.zip

[Windows10/OpenGL] GranTourismo_windows10_LowFPS

[Android9.0/OpenGL] GranTourismo_Adnroid_GoodFps

Panderner commented 4 years ago

Due to poor AMD's OpenGL Driver, you might be experience for bad performance for other games and emulators that uses OpenGL.

hrydgard commented 4 years ago

Sure it's not as fast as their Vulkan driver, but something bad with PPSSPP is clearly going on here. The AMD driver is not THAT slow.

Panderner commented 4 years ago

Citra has a lot of problems for AMD users due to Citra currently only supports OpenGL.

nassau-tk commented 4 years ago

Um... Like a #13357 ?

anr2me commented 4 years ago

Even on Vulkan (Geforce) somestimes the FPS dropped from 60 to 47 for a few seconds in main menu, but not sure how to reproduce this, while D3D11 never had this slowdown.

nassau-tk commented 4 years ago

@ANR2ME

Really? My PC never goes down FPS at Vulkan. Um...

anr2me commented 4 years ago

@ANR2ME

Really? My PC never goes down FPS at Vulkan. Um...

It happened when Vulkan still have the flickering bug, but after the flicker issue got fixed recently i haven't noticed this slowdown anymore, or might be because i haven't tested it as often as before, since it's rare to happen.

nassau-tk commented 4 years ago

I tested on INTEL/NVIDIA GPU.

PPSSPP:v1.10.3-735 OpenGL OS: Windows10(64-bit) CPU: Intel i7-4770K GPU: NVIDIA GeForce GTX750Ti RAM:16GB FPS Average: 60/60

OpenGL & D3D11 OS: Windows10(32-bit) CPU: Intel Celeron G1610 GPU: Intel HD Graphic(On board Chip) FPS Average: 40~43/60 (OpenGL) FPS Average: 50~55/60 (D3D11)

nassau-tk commented 3 years ago

@hrydgard

Hi,This issue is not solved the Ryzen+RADEON below.

PPSSPP Ver.:1.10.3-928 OS:Windows10(64-bit)Japanese CPU:Ryzen7 3800X(8-core) GPU:RADEON RX5700XT Resolution:2560×1440 RAM:32GB

Why closed this???

Panderner commented 3 years ago

@hrydgard

Hi,This issue is not solved the Ryzen+RADEON below.

PPSSPP Ver.:1.10.3-928 OS:Windows10(64-bit)Japanese CPU:Ryzen7 3800X(8-core) GPU:RADEON RX5700XT Resolution:2560×1440 RAM:32GB

Why closed this???

@nassau-tk just because of Poor AMD's OpenGL driver for windows it might be a lots of slowdowns for most games even higher end AMD CPUs and GPUs. AMD's OpenGL driver for Linux is ok.

hrydgard commented 3 years ago

Really, this is slow on such a machine? sounds bizarre, but sure...

nassau-tk commented 3 years ago

I think it's a problem that don't move by this specification as the feeling that they're honest.

I recorded the Screen Movie. Please, see the movie.

https://drive.google.com/file/d/1hqRE1EKzTjqHehprWSTwTUopCQce1ky1/view?usp=sharing

EDIT: If I should change some PPSSPP Setting then please advice for me.

ghost commented 3 years ago

Yeah the AMD GPUs OpenGL driver could be this bad sometimes.. It's not out of the question it's a driver issue. I will just advise using other renderers like DX11 or Vulkan. That's why I run JPCSP on Linux and some other emulators because it can get pretty bad if you use a mobile AMD GPU.

nassau-tk commented 3 years ago

Um... How is @hrydgard thinking? [It's shuold be solved or not.]

Open or Close? I'll give a right of judgement for you.:smile:

hrydgard commented 3 years ago

I'll leave it open for now but not gonna look at it again for a while, marking it for 1.12 :)

nassau-tk commented 3 years ago

@hrydgard

OK!!

nassau-tk commented 3 years ago

Maybe,RADEON RX5700XT has problem on OpenGL that Everybody Golf & Everybody Golf2 too. It has go down the FPS at timing of shots on OpenGL.

LunaMoo commented 3 years ago

Could you run something like GPU-Z or MSI Afterburner and check GPU clocks when you have those slowdowns? In the somewhat distant past when I used AMD GPU(currently have nvidia ampere) and ppsspp only supported OGL I remember my gpu working fine until some driver update when it started running PPSSPP with idle clocks often resulting in fps drops, don't remember if increasing render resolution was helping or I just used some third party app to control my gpu clocks, but I don't think RX5700XT would lack raw power to brute force through poor ogl drivers in PSP emulation if the ancient amd gpu I used for PPSSPP in the past was just a small fraction of it's power and even with idle clocks ran reasonably well with just ocassional slowdowns.

Edit: Also would like to add that the "AMD OGL driver slowdown" was always very exaggerated, the primary difference was always the fact that Nvidia's OGL driver was multithreaded when AMD's wasn't and unlikely to ever be, that does make huge difference in other emulators, it however does NOT in PPSSPP where Henrik rewrote OGL backend to deal with multithreading on app level after that there wasn't really much advantage in using Nvidia for PPSSPP aside from one nasty bug that was present in AMD drivers for a while causing crashes with dual source blending, but I think that was fixed already.

nassau-tk commented 3 years ago

This one is Everybody Golf at timing of shot. GPU Clock is fixed near the 783MHz. AB_everybodygolf_shot

This one is GranTurismo when appearing the menu screen. GPU Clock is fixed near the 783MHz. AB_GranTurismo_Menu

This one is MonsterHunter3rd on the field. GPU Clock is less than about 100MHz. AB_MH3

Everyone upscale level is On.

nassau-tk commented 3 years ago

Um... Of course I know that I should use Vulkan. Becasue,RADEON RX5700XT's Vulkan performance is better than OpneGL. So,I want know that this case of issue is "Should Solved or not". Maybe, I think It's a very difficulty for judgement.:sweat_smile:

LunaMoo commented 3 years ago

Standard boost clock of your gpu is 1740 MHz, so if it lags with 781mhz it's not gpu bottleneck, but something else, likely CPU.

CPU bottleneck potentially includes gpu driver, but it's just hard to believe for AMD ogl driver to degrade soo much in few years, unless it only has issues with some particular technique like for example dual source blending which was broken in their OGL driver in the past or maybe it simply get's tons of draw calls which isn't really that great for OGL drivers.

It's up to you if you still want to bother with OGL or just use Vulkan, the latter already offers more and is recommended as long as you can use it, through.

anr2me commented 3 years ago

According to this https://www.reddit.com/r/Amd/comments/gex7mq/why_are_amds_opengl_driver_so_damn_slow_on/ on Citra emulator the FPS get worse when using hardware shaders image

This discussion might also gives some clue https://community.amd.com/t5/opengl-vulkan/awful-opengl-fbo-performance-when-writing-to-nonzero-attachment/m-p/281845

Awful OpenGL FBO performance when writing to nonzero attachment

I'm making a game graphics engine with some screen-space processing (that's important), and figured out that our game runs incredibly slow on AMD gpus.

Investigation showed that the problem is in writing to nonzero attachments of a framebuffer objects. I managed to reproduce the problem with a minimal test on RX550, RX590 and RX400 series hardware.

I prepared a minimal test pack, where the application creates an FBO with six RGBA UNSIGNED_BYTE attachments and renders 100 fullscreen rects per frame to it. There are four executables with four patterns of writing:

Well it supposed to be fixed since Adrenalin 2020 Edition 19.12.2 Recommended (WHQL)

While this issue might not be solved yet https://community.amd.com/t5/opengl-vulkan/catastrophic-performance-loss/td-p/69814 But it seems to only happened on Adrenalin but not on the old Crimson driver.

Hi alli've an old ati radeon 7970 that is equivalent to a modern Radeon R9 280X.for me the problems depend from drivers.
if i Use the last version named adrenalin supermodel run very slow.
if i Use the old crimson version of the drivers supermodel runs very well.
hrydgard commented 3 years ago

Seems we are accidentally hitting some very slow paths in the AMD OpenGL driver.

Indeed, the conclusion is probably "just use Vulkan", pretty unlikely I'll prioritize this anytime soon given that Vulkan does work fine as far as I can tell.

LunaMoo commented 3 years ago

But it seems to only happened on Adrenalin but not on the old Crimson driver.

Heh... ^that would explain why I had a much better experience compared to people nowadays. Those ancient crimson drivers had good performance and even working extensions that got broken later, dunno how they could break soo much for soo long without deliberately wanting to kill off OGL.

Either way if this is such a huge issue on amd, maybe just show a message/warning when user chooses OGL and uses AMD gpu.

nassau-tk commented 3 years ago

Either way if this is such a huge issue on amd, maybe just show a message/warning when user chooses OGL and uses AMD gpu.

Yes,If it can be do it to easy then any user can knowledge the right way of backend choice. For pitiful RADEON user.:sob:

Panderner commented 2 years ago

It's seems the AMD Driver version 22.7.1 greatly improves OpenGL performance for AMD GPUs.

@nassau-tk Have you upgraded the drivers to 22.7.1 to test this game again?

nassau-tk commented 2 years ago

My GPU changed nvidia. So, i can't check it.

hrydgard commented 2 years ago

Either way, there's not much we're gonna work on here. Can always use Vulkan these days on AMD if OpenGL is slow.