Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New OpenGL threading code - call for testing
02-08-2018, 12:03 PM
Post: #1
New OpenGL threading code - call for testing
I've implemented (with a bit of help from Unknown) threaded rendering for OpenGL, which means that the main thread queues up commands, and a background thread actually sends them to the driver, similarly to what we've been doing with Vulkan for a while. This arrangement also allowed more efficient vertex uploads, which improves performances further, but Vertex Cache should no longer help very much.

With this, you should be seeing much better performance if your device couldn't quite keep up before. There is no option, it's always on in new builds.

Please try the latest builds from https://buildbot.orphis.net/ppsspp/ and let me know if anything is broken graphically that used to work, either here in this thread, or preferably in the issue tracker: https://github.com/hrydgard/ppsspp/issues
Find all posts by this user
Quote this message in a reply
02-08-2018, 11:15 PM (This post was last modified: 02-08-2018 11:16 PM by LG Fanatic.)
Post: #2
RE: New OpenGL threading code - call for testing
That's an awesome development! Can't wait to try it out. Edit, just tried the latest two builds(v1.5.4-526-g39fd77b35 & v1.5.4-525-g625595c6c) and I get a black screen when trying to run the app. My device is the Motorola Moto E4(Snapdragon 425 version) running Android 7.1.
Find all posts by this user
Quote this message in a reply
02-08-2018, 11:27 PM
Post: #3
RE: New OpenGL threading code - call for testing
Will this ever be brought to Dirext 9 or 11?
Visit this user's website Find all posts by this user
Quote this message in a reply
02-09-2018, 03:32 AM (This post was last modified: 02-09-2018 03:58 AM by fivefeet8.)
Post: #4
RE: New OpenGL threading code - call for testing
There seems to be a huge regression with Vulkan performance in a few games with the latest git builds. Earth Defense Force 2 is massively slower now with Vulkan. At the same time, OpenGL performance in this game has more than doubled. The game is now playable with OpenGL and complete unplayable with Vulkan. A complete vice versa from previous builds.

I must say though, OpenGL in the latest builds have increased performance in some instances substantially. In some games, it's neck and neck with Vulkan.
Find all posts by this user
Quote this message in a reply
02-09-2018, 10:17 AM (This post was last modified: 02-09-2018 10:55 AM by Henrik.)
Post: #5
RE: New OpenGL threading code - call for testing
Black screen on some devices is bad news, but it could be an unrelated compatibility issue that came up recently when we switched to "libc++" on Android. That one will be investigated.

The EDF slowdown is mysterious and unexpected, I'll have to look into that. At least for me, other games haven't slowed down in Vulkan at all.

MorrisonGamer, D3D11 will do similar multithreading in the driver already, might still win some but if GL or Vulkan is faster, just use those. This threading stuff is a lot of work to get right, I won't have time anytime soon to do it for two more APIs.
Find all posts by this user
Quote this message in a reply
02-10-2018, 01:11 AM
Post: #6
RE: New OpenGL threading code - call for testing
(02-09-2018 10:17 AM)Henrik Wrote:  Black screen on some devices is bad news, but it could be an unrelated compatibility issue that came up recently when we switched to "libc++" on Android. That one will be investigated.

The EDF slowdown is mysterious and unexpected, I'll have to look into that. At least for me, other games haven't slowed down in Vulkan at all.

MorrisonGamer, D3D11 will do similar multithreading in the driver already, might still win some but if GL or Vulkan is faster, just use those. This threading stuff is a lot of work to get right, I won't have time anytime soon to do it for two more APIs.

Got it. Thank you and rest of the PPSSPP team for all your hard work on this app!
Find all posts by this user
Quote this message in a reply
02-10-2018, 06:00 AM (This post was last modified: 02-10-2018 06:55 AM by LG Fanatic.)
Post: #7
RE: New OpenGL threading code - call for testing
Okay, the latest beta build(v1.5.4-526-g39fd77b35) oddly enough works on my older ZTE Warp Sync(Snapdragon 400, Android 4.4.2). The performance boost with the new OpenGL code is quite substantial even in this older device. For example, I would need frameskip at three and multi-threading to get decent performance in Tekken 5. Now, with the new code frameskip set at two is enough for smooth gameplay. Some of the lighter titles like Megaman Poweredup now don't need frameskip at all. I can only imagine how well this will run on my Moto E4. Henrik, you and the rest of the PPSSPP team totally rock! Big Grin
Find all posts by this user
Quote this message in a reply
02-10-2018, 01:17 PM (This post was last modified: 02-11-2018 09:36 AM by Dukatti.)
Post: #8
RE: New OpenGL threading code - call for testing
P5200, PowerVR, x86, Android 6, OpenGLES, 526 build:
- crash right after any game loading

Win7, Nvidia:
- unable to change shaders
- even after random successful change they can appear in small box in the left upper corner

387 build:
- everything, shaders, win7, P5200 working great.

[Edit:]
- it's an old issue
- on 387 I'm too can't switch shaders in OGL [Win & Android]
- switching shaders working with D11 and VK

- switching shaders in OGL worked in v.1.2.2-786-gfa3f219
Find all posts by this user
Quote this message in a reply
02-11-2018, 06:30 PM
Post: #9
RE: New OpenGL threading code - call for testing
Surprising Improvements, scenes in games that used to stay around 15~ fps on my crappy laptop are now around the high 20s.

As other have noted, there seems to be something broken when switching shaders, but this seems to be a much older issue.
Find all posts by this user
Quote this message in a reply
02-12-2018, 11:39 AM
Post: #10
RE: New OpenGL threading code - call for testing
Yeah, I know about the switching shader thing, will fix it up soon.
Find all posts by this user
Quote this message in a reply
02-12-2018, 09:35 PM
Post: #11
RE: New OpenGL threading code - call for testing
Actually I do have something to report, I get some heavy sound crackling even though the game is running at full speed, only happens in OpenGL, is there any kind of log I could grab to help investigate this issue?

Fiddled with all the sound settings, nothing changed.
Find all posts by this user
Quote this message in a reply
02-12-2018, 09:52 PM
Post: #12
RE: New OpenGL threading code - call for testing
Dukatti, the latest build should solve your issues except maybe crashing on the x86 android .. haven't tested that in a while.

YukiHerz, what device are you experiencing that on? is the crackling new or happened before?
Find all posts by this user
Quote this message in a reply
02-13-2018, 12:02 AM
Post: #13
RE: New OpenGL threading code - call for testing
Windows 10 64-bit PC, this is the first time I experience crackling under these conditions.
Find all posts by this user
Quote this message in a reply
02-13-2018, 07:06 PM (This post was last modified: 02-13-2018 07:09 PM by Dukatti.)
Post: #14
RE: New OpenGL threading code - call for testing
Henrik,
545 build working great on P5200 (:
[x86, PowerVR, Android 6]

Under some heavy conditions:
- 387 build 39-40 fps
- 545 build mostly 46-48 fps [42-51 are peeks]

on 0.9.8 with additional hacks and multithread speed was the same, but
caching new things on the screen in 545 build is faster
And overall it looks better cause of countless fixes applied to make effects, scene objects, etc visible.

I want to say that it's greatest build I ever launched on my pad x)
[but it might be hard to notice for those not familiar with detailed objects of a game, or older results]

On win7:
- 562 noticeably caching new things faster then 387
- 562 switching shaders perfectly

And only for debug:
- in 545 switching shaders didn't work
- in 555, 557, 560, 562 on tab3 awaiting black screen right after launching ppsspp
- under heavy 10xPSP with custom shader on Win7
562 build - 20..22fps, 387 build - 22..24fps
Find all posts by this user
Quote this message in a reply
02-14-2018, 03:12 PM (This post was last modified: 02-15-2018 07:28 PM by AkiraJkr.)
Post: #15
RE: New OpenGL threading code - call for testing
On the latest build, the screen doesn't stop flickering for some reason, and games don't properly boot. Alcatel One Touch Pop C5
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: