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

Forced close and decreased OpenGL performance on latest builds #11715

Closed
GuilhermeGS2 opened this issue Jan 4, 2019 · 30 comments
Closed

Forced close and decreased OpenGL performance on latest builds #11715

GuilhermeGS2 opened this issue Jan 4, 2019 · 30 comments

Comments

@GuilhermeGS2
Copy link

Using the latest builds I have random forced close's, sometimes when I exit a game and go to menu, or when I exit to home screen directly I receive the forced close message. I also have been trying old version and noticed that OpenGL performance is better with 1.7.4 (downloaded from official page) than it's with latest builds. Midnight Club 3 runs 50-60 FPS on 1.7.4, on latest builds it runs 40-50 FPS.

@GuilhermeGS2 GuilhermeGS2 changed the title Force close with latest builds and decreased OpenGL performance on latest builds Forced close and decreased OpenGL performance on latest builds Jan 4, 2019
@hrydgard
Copy link
Owner

hrydgard commented Jan 4, 2019

Any chance you can test a few intermediate builds and see when the problems started happening for you? I haven't noticed anything like that, but it'll likely be device-dependent.

@ghost
Copy link

ghost commented Jan 4, 2019

I also noticed that in Tekken 6, Need For Speed Underground Rival and GoW Chain Of Olympus.
That three games running smooth in v1.7.5 playstore because I use the timer hack setting

Phone Quick Specs:
Android 5.1
RAM 2GB
OGL 2.0

@GuilhermeGS2
Copy link
Author

OK, I'll do it.

@hrydgard
Copy link
Owner

hrydgard commented Jan 4, 2019

If it's just about the timer hack, maybe try downclocking instead? Although, it's well known that that won't work with Tekken.

@GuilhermeGS2
Copy link
Author

@Emulatorer There's a CWCheat that allows to use custom clocks with Tekken 6, but I don't know if it works properly. Also you can use a cheat to run GoW at 30 FPS (if your phone can't handle 60 FPS), it worked fine for me. Check this link: https://forums.ppsspp.org/showthread.php?tid=22787

@hrydgard the both issues started with the build 332, the first build available after 321, so might be some revision between them.

@hrydgard
Copy link
Owner

hrydgard commented Jan 4, 2019

So that's #11694 . Very strange, wouldn't expect anything in there to affect perf, but hey ... I've said that before :) @unknownbrackets this seems rather strange..

@GuilhermeGS2
Copy link
Author

This may explain the force close, but I don't understand how a Vulkan workaround could affect OpenGL performance. But it reminds me that sometimes when I tried to switch to Vulkan the app crashed too.

@unknownbrackets
Copy link
Collaborator

Do you have an Adreno? Which one specifically?

Can you get a logcat of the crash?
https://github.com/hrydgard/ppsspp/wiki/How-to-get-an-adb-logcat-from-a-PC

That range also includes #11695. So the possible GLES effects are:

  1. 01809f8 could have reduced performance, compared to v1.7.5-321-g2dbdd73e5, by making depal work again. It's possible it could either have brought it back to v1.7.5-283-g791d66dc3 or perhaps v1.7.5-277-gab407a4a2 levels (where depal would've worked on many devices), or it may be that highp was never previously working, and thus depal was never working.

  2. 7ad6270 could have had a similar effect, except it would've been v1.7.5-277-gab407a4a2 and definitely not v1.7.5-283-g791d66dc3.

  3. Maybe 1f594f3 is somehow causing a crash on device lost / restore. I can't see it affecting perf.

  4. It seems unlikely f8ce9b0 could've affected GLES perf, but it's borderline conceivable, because it affects shader id generation.

  5. Maybe somehow adeca2c has changed the way buffers are mapped, but I can't see how.

I think the first one is the most likely by far, at least for perf impact. I don't know about crashing.

-[Unknown]

@GuilhermeGS2
Copy link
Author

@unknownbrackets I have Adreno 509 (Snapdragon 636). I'll try to get the log later.

@GuilhermeGS2
Copy link
Author

Here is the zip file: https://drive.google.com/open?id=1ja0i_mVi-jLTXqdL5E4K6Covj2R-iaJ_

I played the game for a while, then I got back to the PPSSPP main screen and pressed the home button, tried to open emulator again and the app crashed.

@hrydgard
Copy link
Owner

hrydgard commented Jan 5, 2019

That link doesn't work, did you share the file?

Ok, so yet another task switching issue to track down. I know from Google Play reports we have one or two really weird ones left...

@GuilhermeGS2
Copy link
Author

That's weird, the link was working then suddenly don't. I uploaded to another server: https://www.mediafire.com/file/5v75z3kkgbd4ehg/ppsspp.log/file

@unknownbrackets
Copy link
Collaborator

01-05 16:57:32.499 12959 12959 I PPSSPPNativeActivity: Correct orientation detected, resetting orientation counter.
01-05 16:57:32.499 12959 12959 D PPSSPPNativeActivity: Surface created. pixelWidth=2170, pixelHeight=1080 holder: android.view.SurfaceView$3@8a5daef or: 0
01-05 16:57:32.500 12959 12959 I PPSSPP  : NativeApp.setDisplayParameters(2170 x 1080, dpi=440, refresh=60.00)
01-05 16:57:32.500 12959 12959 D PPSSPPNativeActivity: Setting fixed size 0 x 0
01-05 16:57:32.500 12959 13002 I NativeRenderer: NativeRenderer: onSurfaceCreated
01-05 16:57:32.500 12959 13002 I NativeRenderer: EGL reports 24 bits of depth and 8 bits of stencil.
01-05 16:57:32.500 12959 13002 I PPSSPP  : NativeApp.displayInit() restoring
01-05 16:57:32.500 12959 13002 I PPSSPP  : EmuThreadStop - stopping...
--------- beginning of crash
01-05 16:57:32.585 13163 13163 F DEBUG   : backtrace:
01-05 16:57:32.585 13163 13163 F DEBUG   :     #00 pc 000000000001c8a8  /system/lib64/libc.so (memcpy+248)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #01 pc 0000000000662474  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (Draw::OpenGLContext::DrawUP(void const*, int)+152)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #02 pc 0000000000643198  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (DrawBuffer::Flush(bool)+280)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #03 pc 000000000067ceb8  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (UIContext::Flush()+28)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #04 pc 00000000005ca730  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (MainScreen::DrawBackground(UIContext&)+28)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #05 pc 000000000067e4e0  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (UIScreen::render()+140)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #06 pc 000000000067c110  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (ScreenManager::render()+136)
01-05 16:57:32.585 13163 13163 F DEBUG   :     #07 pc 00000000005afb40  /data/app/org.ppsspp.ppsspp-6mQ_G3TQIctjRcdMBvclrQ==/lib/arm64/libppsspp_jni.so (NativeRender(GraphicsContext*)+648)

Maybe a buffer not being cleanly reinit?

-[Unknown]

@hrydgard
Copy link
Owner

How is stability now?

@ghost
Copy link

ghost commented Feb 11, 2019

The performance decreased (OpenGL) continuesly happen in the latest git build

I notice 5 fps frame drops in Tekken6, GoW chain of olympus & ghost of sparta compare to v1.7.5 🤔

@hrydgard
Copy link
Owner

hrydgard commented Feb 11, 2019

That is still surprising, need to figure out what it might have been (in that test, did you disable Timer Hack on 1.7.5?)

@ghost
Copy link

ghost commented Feb 11, 2019

Nope I always enable it in GoW & Tekken 6 😅

@hrydgard
Copy link
Owner

Well that could be your speed difference then. Maybe removing it was a little hasty, although it is a really gross hack heh. If you compare performance of 1.7.5 without Timer Hack with current performance, how does it look?

@ghost
Copy link

ghost commented Feb 11, 2019

v1.7.5 timer hack off still better compare to the latest git build that occasionally frame drops from 1-5 fps

v1.7.5 timer hack on only give me 1-2 fps increase though 🙂

*Sorry for my english

@ghost
Copy link

ghost commented Feb 11, 2019

@cheding09 can you also test if you experiencing occasionally frame drops using the latest git build as we both have same unit 🙂

@GuilhermeGS2
Copy link
Author

Aperently MC3 is running better now with OpenGL, and I haven't noticed any crash. But I'll still need a better CPU or better Vulkan drivers to run at 60 FPS.

@unknownbrackets
Copy link
Collaborator

So at this point this is just about performance loss, potentially due to shaders that were compiling wrong but not causing any obvious visual issues?

Let's not lump in other settings changes (timer hack, disable slow effects, etc.) that have changed in behavior here. If that made sense, we would just have one issue - "PPSSPP is not perfect". But that's a horrible way to fix issues, it's better to break them up and look at each one separately.

-[Unknown]

@ghost
Copy link

ghost commented Feb 18, 2019

v1.7.5 without timer hack enable still perform better than the current beta build in my device :v

@cheding09
Copy link

cheding09 commented Feb 23, 2019

UP

NFS: Most Wanted run smoothly on v1.7.5-471-g8090c3db5 build
https://m.youtube.com/watch?v=MoeLjBXH7aM -Test
https://m.youtube.com/watch?v=R-KDEPJRRWY -5mins gameplay

Now v1.7.5-473-g4d8f3c48a up to 1.7.5-504 makes the game choppy
https://m.youtube.com/watch?v=jWppRgZSB_U -Test

Also what do you call this little squares on tint ?
https://m.youtube.com/watch?v=9Gwd2Pvxon0

Unit Specs :
Mali-450 Gpu
Armv7 8cores
2Gb ram
OpenGL 2.0

@unknownbrackets
Copy link
Collaborator

Those squares are a known driver or hardware bug in that GPU. It happens in a bunch of other games too.

There is no 1.7.5-472. v1.7.5-471-g8090c3db5 changed Qt, and v1.7.5-473-g4d8f3c48a changed Windows. Neither of these would affect Android. Can you double check which version changed performance?

If the version is actually v1.7.5-479-ga0d4abae2, then you probably have the sync real clock setting on, which was broken before but is expected to reduce performance (it basically improves input lag at the cost of performance.)

Note also that there are two "v1.7.5-477" for example, so best to just copy and paste the entire thing.

-[Unknown]

@ghost
Copy link

ghost commented Feb 24, 2019

@cheding09 the little square is a normal
graphic bug for Mali-4xx series see #7218

My only issue is the performance of the current build is decrease in OpenGL compare to v1.7.5 🤔

@cheding09
Copy link

cheding09 commented Feb 24, 2019

@unknownbrackets
Sorry I have problem copying the text in github because of my browser, instead selecting the exact text of build versions it selects whole page . haha😁

The graphic bug does not affect performance though, I was just hoping to make it perfect graphics and gameplay😁

I will try to record test on the versions you said, maybe later or soon👍

@odrac Yalisad Anayla
Yes, same problem on performance👍

@cheding09
Copy link

cheding09 commented Feb 24, 2019

@unknownbrackets
I've tested the build version 1.7.5-514(new for this day) and yes turning off sync real clock do affect performance and its good now . Thanks Sir's👍

@ghost
Copy link

ghost commented Mar 1, 2019

I think we can close this thread 😅 (imo)
Im ok now using ppsspp latest build

@hrydgard
Copy link
Owner

hrydgard commented Mar 1, 2019

Yeah, I don't think there's much to do here. I hope to find time to work more on overall performance after 1.8.0.

@hrydgard hrydgard closed this as completed Mar 1, 2019
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

4 participants