Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Author Topic: ""vsync":true," in settings.json is trotling AMD GPU and iGPU performace  (Read 740 times)

pedro1_1

  • Commander
  • ***
  • Posts: 217
    • View Profile

So I found the cause of the 30 FPS on AMD gpus, it's the Vsync technology used on starsector, this is the benchmark results of the game before I turned vsync off:
Vsync:on
12-09-2020, 18:14:02 java.exe benchmark completed, 5802 frames rendered in 209.672 s
                     Average framerate  :   27.6 FPS
                     Minimum framerate  :   19.6 FPS
                     Maximum framerate  :   31.2 FPS
                     1% low framerate   :   18.4 FPS
                     0.1% low framerate :   13.7 FPS
12-09-2020, 18:17:49 java.exe benchmark completed, 6342 frames rendered in 211.547 s
                     Average framerate  :   29.9 FPS
                     Minimum framerate  :   26.8 FPS
                     Maximum framerate  :   31.6 FPS
                     1% low framerate   :   23.2 FPS
                     0.1% low framerate :   11.3 FPS
13-09-2020, 10:22:20 java.exe benchmark completed, 63420 frames rendered in 1267.703 s
                     Average framerate  :   50.0 FPS
                     Minimum framerate  :    0.6 FPS
                     Maximum framerate  :   61.9 FPS
                     1% low framerate   :    3.5 FPS
                     0.1% low framerate :    0.6 FPS
13-09-2020, 21:49:26 java.exe benchmark completed, 42613 frames rendered in 1526.578 s
                     Average framerate  :   27.9 FPS
                     Minimum framerate  :    9.8 FPS
                     Maximum framerate  :   60.9 FPS
                     1% low framerate   :   12.1 FPS
                     0.1% low framerate :    7.0 FPS
27-10-2020, 20:48:06 java.exe benchmark completed, 72 frames rendered in 2.391 s
                     Average framerate  :   30.1 FPS
                     Minimum framerate  :   27.6 FPS
                     Maximum framerate  :   30.3 FPS
                     1% low framerate   :    8.9 FPS
                     0.1% low framerate :    8.9 FPS
[close]

and this is the video I got after turning Vsync off:

Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24112
    • View Profile
Re: ""vsync":true," in settings.json is trotling AMD GPU and iGPU performace
« Reply #1 on: October 28, 2020, 06:12:51 PM »

Thank you for sharing the info! Hmm. What video card do you have? Given what I'm seeing here, I'd actually expect the same behavior on NVIDIA cards as well - the way vsync works, fundamentally, is it can only have stable framerates based on the refresh rate of the monitor.

So if the refresh rate is 60, it can either:
Render every frame, for 60 fps
Render every other frame, for 30 fps (big drop!)
Render every third frame, for 20 fps
Render every fourth frame, for 15 fps
And so on.

Given what's in your video, it looks like on your PC, the game is not *quite* able to get to 60 fps - which, with vsync on, means a drop to a framerate of 30. But that's not really AMD specific, that's just how vsync fundamentally works.

That's not to say that vsync couldn't be causing a problem on AMD cards, though! Offhand I don't remember if people experiencing poor performance there have tried that. Knowing what your card is might help here - since as I understand it, it's the newer AMD cards that tend to have these performance problems.
Logged

pedro1_1

  • Commander
  • ***
  • Posts: 217
    • View Profile
Re: ""vsync":true," in settings.json is trotling AMD GPU and iGPU performace
« Reply #2 on: October 28, 2020, 06:16:29 PM »

Thank you for sharing the info! Hmm. What video card do you have?

it's on the top left of the screen on the video
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24112
    • View Profile
Re: ""vsync":true," in settings.json is trotling AMD GPU and iGPU performace
« Reply #3 on: October 28, 2020, 06:19:30 PM »

Ah, thank you - the popup video info thing was blocking it so I didn't even see! So, a Vega 11, which is from 2018. I don't actually know when the problems with AMD became more of a consistent issue, hmm... this *is* pretty recent, though.
Logged

pairedeciseaux

  • Captain
  • ****
  • Posts: 340
    • View Profile
Re: ""vsync":true," in settings.json is trotling AMD GPU and iGPU performace
« Reply #4 on: October 29, 2020, 02:43:43 PM »

Having watched the video I didn't perceive performance with vsync off being different compared to performance with vsync on. Performance seemed to be decent enough in those not too busy battles.

Please note this is a 150$ AMD APU, with 65W TDP, released in 2019.

Spoiler
The GPU part, Vega 11, has basicilly 1/3rd the computing potential of a RX480 graphic card from 2016, and this is probably optimistic. RX480 is rated as a 1920x1080 gaming card, but it really depends on the game/application used.

Generally speaking Vega 11 is probably not meant to allow playing games in 1920x1080, unless - I guess - (1) well optimized, (2) not too demanding, (3) modern and efficient game graphic implementation (think Vulkan + maybe multi-threaded CPU usage). I suppose (2) should be OK for Starsector, not sure about (1), and (3) most certainly is not OK.

Which brings us to the CPU part.

If possible have a look at the per-core CPU usage. And the "Idle" value in-game at the bottom of the screen. When idle is getting close to 0%, my understanding is the main thread is just using "too much" CPU, and the game can't keep up rendering at the main rate. Even around 10% idle seems probematic.

This main thread CPU usage can be attributed to (0) non rendering game code, (1) how the games does perform rendering, (2) how much elements are rendered + amount and complexity of visual effects, (3) graphic rendering stack (JVM + LWJGL + OpenGL), (4) OpenGL drivers.

Besides, the chip being an APU, I suspect CPU and GPU are sharing a common thermal budget. Which can be worrisome for performance oriented applications.
[close]

This APU seems to bring great value for the money, but for playing Starsector or other games, downgrade to lower resolution and see if it improves overall experience?

Spoiler
And dream of optimisations and why not a graphic stack overhaul. :P
[close]
Logged