Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Anubis-class Cruiser (12/20/24)

Pages: [1] 2 3

Author Topic: Terrible performance on multiple OS, AMD GPU issues?  (Read 10907 times)

thenumber9734

  • Ensign
  • *
  • Posts: 10
  • An Esoteric Alien!
    • View Profile
Terrible performance on multiple OS, AMD GPU issues?
« on: August 25, 2019, 07:23:41 PM »

Hello. Just want to start out by saying that I love the game and community at a glance. There's some really good stuff here and I've had a blast exploring the sector.
 
I had been playing Starsector for a few days now at 12-15 FPS with 200 maximum battle size on a well-above-recommended specs gaming PC until I realized that definitely wasn't normal. (specs listed below) A case of having too much fun, probably. I've spent my entire Sunday trying to find a solution to the problem, 14 hours at least. Using some monitoring tools, I verified that forcing the game to use only two CPU cores could not overload the CPU cores and my GPU never saw spikes above 30% utilization.

I generally get about 60FPS stable when in menus and in very small skirmishes, but when any amount of graphical action is taking place, my FPS will tank rapidly. After scouring this forum for hours and doing some additional research, it was assumed that AMD's Windows implementation of OpenGL was causing a massive overhead issue and thus a massive frame drop when the action picks up. I have an AMD Radeon R9 280X and had gone through every other suggested performance fix, so this must be the case.

This didn't seem to be anything that could be fixed, however, so I tried to avoid the problem. After some frustration, I booted up a Ubuntu 18.04.3 LTS and downloaded the Linux version of Starsector. Verifying that I had the open source Mesa drivers, I did some OpenGL testing to verify everything was guuchi. Unigine's Heaven benchmark was running at a solid 60FPS while ye olde glmark2-es2 was giving me about 3500FPS. After making some modifications to the RAM allocation, I gave it a go. The terrible performance was even worse somehow. I use the open source Mesa drivers provided by the Ubuntu installation media for reference. (updated, of course)

I tried to run the Windows EXE in Wine and ran into similar issues with the added bonus of stuttering while not in combat. My next plan is to install Ubuntu 16.04 instead of 18.04 so I can try out the AMDGPU-PRO drivers for Linux that AMD distributes. I have no idea how they compare to Mesa for that particular distro, but I'm running out of options here as AMDGPU-PRO isn't supported on 18.04. I have that idea, the idea of using OpenJDK, borrowing an Nvidia card, and a few other probably not helpful leads that I will try and report back on.

I can still theoretically continue to play Starsector but I am pretty upset that I would probably destroy all playability by adding any mods at all. Any suggestions or "did you try this?" comments would be appreciated.

I do have two questions of my own:
Is Starsector performance dominated by single CPU core performance?
and
Have any dedicated Nvidia GPU users suffered this same issue?

PC Specifications:
FX-8350 CPU
16GB DDR3 RAM
Samsung EVO 840 SSD
AMD R9 280X GPU

Mission played: The Last Hurrah - Whole fleet deployed
=== Operating System - Max - Min - Average - Comments ===
Windows 7 EXE  - 60FPS Max - 11FPS Min - ~14FPS Average
Ubuntu 18.04 Native on Mesa - 60FPS Max - 7FPS Min - ~12FPS Average
Ubuntu 18.04 Windows EXE via Wine - 60FPS Max - 10FPS Min - ~13FPS Average - Significant stuttering at all times (probably a Wine issue)
Ubuntu 18.04 Native on amdgpu-pro - N/A - N/A - N/A - Will test tonight or tomorrow
« Last Edit: September 19, 2019, 07:37:01 PM by thenumber9734 »
Logged
If anime=bad then I don't want to be good

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 25045
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #1 on: August 25, 2019, 07:55:16 PM »

Hi - argh, my apologies. Just in general, this is an AMD-related issue - I'm not 100% sure whether *all* AMD users are affected, or if it's specific AMD card/driver combinations. It does come up a fair bit but it seems like it'd come up more if it was the case for AMD across-the-board.

I do have two questions of my own:
Is Starsector performance dominated by single CPU core performance?

I'm not sure how to answer that - on Nvidia cards, I think it's a fairly even split between CPU and GPU being the limiting factor. In your case, it's definitely not CPU, as you've already verified. But far most of the CPU work happens on a single thread.

Have any dedicated Nvidia GPU users suffered this same issue?

Occasionally, but iirc it's always/almost always been the sort of thing where updating the drivers resolved it. There was also one case where using the Nvidia control panel to force the game to run on the dedicated GPU fixed a similar issue - I think it was using software acceleration for some reason.
Logged

thenumber9734

  • Ensign
  • *
  • Posts: 10
  • An Esoteric Alien!
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #2 on: August 25, 2019, 08:20:03 PM »

Thanks for the quick response! Especially this time of night.

I'm pretty certain the Tahiti class GPUs just sh*ts the bed with any implementation of OpenGL at this point. I'll know for sure when I try AMD's proprietary Linux drivers. I shouldn't literally be getting better FPS in Doom 2017 vs Minecraft.

I'm not sure how to answer that - on Nvidia cards, I think it's a fairly even split between CPU and GPU being the limiting factor. In your case, it's definitely not CPU, as you've already verified. But far most of the CPU work happens on a single thread.

I could have worded it better but you answered my question. Thanks!

Occasionally, but iirc it's always/almost always been the sort of thing where updating the drivers resolved it. There was also one case where using the Nvidia control panel to force the game to run on the dedicated GPU fixed a similar issue - I think it was using software acceleration for some reason.

I can see that definitely being an issue. On a slightly related note, I may have some hope by rolling back my drivers. Way back. We're talking like 5 years ago. I'll try that after I try a few other things first, but I'm heading to bed for the night. I'll update this thread with my findings tomorrow. Cheers!
Logged
If anime=bad then I don't want to be good

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 25045
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #3 on: August 25, 2019, 08:43:17 PM »

Thank you for sharing what you've done and your findings!

On a slightly related note, I may have some hope by rolling back my drivers. Way back. We're talking like 5 years ago.

Hmm, yeah, that's worth a shot. I've definitely seen cases where older driver versions fixed things...
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #4 on: August 25, 2019, 09:03:37 PM »

Quote
Hi - argh, my apologies. Just in general, this is an AMD-related issue - I'm not 100% sure whether *all* AMD users are affected, or if it's specific AMD card/driver combinations.
This stuff almost makes me want to put my old AMD GPU back in and send you the profiler data, lol.  I gave it away this last fall, unfortunately, but yeah... what you see on nVidia and what you see on AMD are two very different animals, in terms of where the CPU's choking in high-stress situations. 

Spoiler
On AMD, the hottest spot was practically always glBindTexture().  Seriously; even hotter than the distance-check math, the rotational trig on getLocation() on guns (which I still think should run once, and only once, per frame; any further calls should be returning that value), etc.

Hence all the effort I put into developing a faster queue in the particle-effects stuff I've been working on since then. 

Even multithreaded, it was still *the* hot spot, if not called in the correct order, because it halts the GL --> GPU state loop, apparently, and AMD's "strictly correct, but actually awful" driver standards in re: OpenGL frequently appear (in terms of speed hit spikes) to make the texture re-load to the GPU, rather than keeping it in VRAM. 

There's probably a way around that, but the use of per-texture queuing reduced the load so much I moved on to other problems.
[close]
« Last Edit: August 25, 2019, 09:08:54 PM by xenoargh »
Logged
Please check out my SS projects :)
Xeno's Mod Pack

Omnikuken

  • Ensign
  • *
  • Posts: 45
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #5 on: August 26, 2019, 12:14:15 PM »

Got a slightly-ish more powerful card than OP (R9 290) and can barely hit above 20 FPS in fights with more than 5-6 ships (especially fighter-heavy battles). Getting 40+ when moving around planets and deepspace, though if there's a lot of floating junk (debris fields and asteroids), FPS dips alot

Had a colony once that was always attacked by faction raids, space station and patrols would lol at them but getting around the planet would tank the FPS to the 10-15 with all the stuff floating nearby ....
Logged

thenumber9734

  • Ensign
  • *
  • Posts: 10
  • An Esoteric Alien!
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #6 on: August 26, 2019, 04:13:19 PM »

I have some updates and some questions!

Hmm, yeah, that's worth a shot. I've definitely seen cases where older driver versions fixed things...

Unfortunately, rolling back to the earliest supported driver packages for the Radeon HD 7xxxx/R9 2xx re-brands didn't totally resolve this issue. I did see very slight performance increases, only by a few FPS, but still sub-20. I wish I had a Radeon HD 6xxx card laying around I could test with.

=== Operating System - Max - Min - Average - Comments ===
Windows 7 EXE (original PC)  - 60FPS Max - 15FPS Min - ~18FPS Average - Using CCC from October 2013
Windows 10 EXE (different PC)  - 60FPS Max - 30FPS Min - ~48FPS Average - You CAN throw more (AMD) hardware at the problem to make it playable but 30 FPS is still on the low end for such a modern GPU

New PC Specs:
Ryzen 5 2600x
16GB DDR4
RX 560
EVO 840 SSD

Spoiler
On AMD, the hottest spot was practically always glBindTexture().  Seriously; even hotter than the distance-check math, the rotational trig on getLocation() on guns (which I still think should run once, and only once, per frame; any further calls should be returning that value), etc.

Hence all the effort I put into developing a faster queue in the particle-effects stuff I've been working on since then. 

Even multithreaded, it was still *the* hot spot, if not called in the correct order, because it halts the GL --> GPU state loop, apparently, and AMD's "strictly correct, but actually awful" driver standards in re: OpenGL frequently appear (in terms of speed hit spikes) to make the texture re-load to the GPU, rather than keeping it in VRAM. 

There's probably a way around that, but the use of per-texture queuing reduced the load so much I moved on to other problems.
[close]

This doesn't have anything to do with OpenGL 4.6 would it? This can be a question for either your or Alex as I'm not well versed enough to know what that function does or relies on. The only reason I ask is that the general consensus right now is Mesa 19.0.x's RadeonSI Gallium3D driver (what I'm using now) is better than AMDGPU-PRO 18.50's "Pro OpenGL" when running modern 3D games using OpenGL. AMDGPU-PRO 18.50's only on-paper advantage is full support for OpenGL 4.6.

I have verified that AMDGPU-PRO 18.50 does work on Ubuntu 18.04.03 LTS so I will try that right after I hit post. Benchmarks aren't universal, so it's worth a shot. If that doesn't work, I'll see what I can do with my probably-dead R9 580 I have laying around, or pony-up and build an nVidia rig. I had the laughable idea of trying RSXGL on a jank Ubuntu version for my PS3 to play Starsector but I don't quite think I could Starsector to launch, let alone render properly :P
Logged
If anime=bad then I don't want to be good

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 25045
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #7 on: August 26, 2019, 05:08:29 PM »

It's not an OpenGL 4.6 thing, no. All the OpenGL stuff Starsector uses is pretty old; I'm not even sure it requires anything beyond 1.2 - it might for a few things? But, yeah, bindTexture() isn't one of them, even assuming that was indeed the bottleneck.
Logged

thenumber9734

  • Ensign
  • *
  • Posts: 10
  • An Esoteric Alien!
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #8 on: August 26, 2019, 09:28:56 PM »

After a few hours of builds failing due to different packages being compiled in different kernel versions, or packages just missing altogether (I'm not kidding), I finally got it AMDGPU-PRO drivers to work. Very underwhelming, almost identical performance to the Mesa drivers. I'm too tired to go on with my Starsector on PS3 idea but maybe that can be a project for another weekend.

For more even bad news™, my R9 580 is indeed dead so I guess it's time to finally RMA it... only a few months left on the warranty lol. I might buy an RX 590 or RX 5700 just for the hell of it, I'm sure the performance will be just fine on those cards.

Sorry that I couldn't come to any better conclusion to this issue. For those who want to play the game for cheap and have some know-how on PC building, I would suggest the GDDR5 version of the GeForce GT 1030.
Logged
If anime=bad then I don't want to be good

MesoTroniK

  • Admiral
  • *****
  • Posts: 1734
  • I am going to destroy your ships
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #9 on: August 26, 2019, 09:39:14 PM »

For those who want to play the game for cheap and have some know-how on PC building, I would suggest the GDDR5 version of the GeForce GT 1030.
Though I will add, be aware of the limitations of that choice. That is a card with only 2gb of VRAM which will prevent running a heavily modded game of SS, along with it just being incredibly slow in general which is more of a concern for other games admittedly.

Schwartz

  • Admiral
  • *****
  • Posts: 1454
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #10 on: August 28, 2019, 09:53:54 PM »

The Tahiti & OpenGL issue is fairly long in the tooth here, you find various threads about the subject. It may be worth having a sticky with problematic hardware and adding this, since AFAIK it's the whole lineup of cards that don't like Starsector.
Logged

Boreale

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #11 on: August 30, 2019, 09:40:43 AM »

I'm so happy other people are having these issues.  I'm falling into low ~15 fps 0% idle whenever a fight becomes slightly taxing.  My card is an older AMD now by todays standards.  But the performance I get out of other games is immensely different to Starsector.


CPU: i7 860 quad core (hyperthreading disabled) OCed to 4.0 Ghz
GPU: AMD 7870 HD 1Ghz 2GB ddr5
RAM: 16GB 1600 Mhz, allocating 6GB to the game
OS: Windows 10 64 bit


Without mods I still receive major fps problems throughout the game.  With the graphicslib mod (shaders disabled) running the stress test I'm getting 15 frames average at battle size 400.  There is no iGPU so it's not like some other card is handling it.  My GPU reaches anywhere between 8-20% usage in battles.  But when I'm in the overworld or doing anything else, I get jumps to atleast 50/60%.  What I'm also noticing is that my card is pretty much always staying at idle clock speed of 300Mhz in battles.  Normally once it comes underload it will make it's jump to 1Ghz.  It's not overheating and downclocking since my card is sitting at 55-65 degrees.  The memory clock however is jumping to it's full speed.


I'm really sad that I can't put the hours in to get to late game since it just becomes unplayable.  I don't think there really is anything we can do but go and complain to the AMD devs about poor openGL support (or I pony up cash to upgrade my system).  OpenGL for them has supposedly been about prioritizing the drivers to work in conjuction with professional software like photoshop.  So not games.
There's been a big move on to Vulkan.  I tried setting up a linux distro, as their open sourced radeon drivers are better at working with older AMD cards and openGL.  The performance boost was nominal as the average fps jumped to the low 20s.  I also tried rolling back drivers for my card on windows to 2015.  No performance increase there.


All that being said it certainly could be a combination of poor openGL combatibility.  Combined with my older CPU.  During battles the core handling the main thread is being pushed to near 100 usage.  So it could certainly be bottlenecking my gpu.  Anyways, great game!
« Last Edit: August 30, 2019, 09:42:46 AM by Boreale »
Logged
Mutiple.  Simultaneous.  Deep strikes.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 25045
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #12 on: August 30, 2019, 09:44:12 AM »

Hi - thanks for the info, and sorry about the trouble! Prooobably not much I can do here, especially not in the near-term, but it's just good to have additional information.
Logged

Schwartz

  • Admiral
  • *****
  • Posts: 1454
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #13 on: August 31, 2019, 03:52:48 AM »

You can be sure that it's not a CPU issue and yours isn't a weak GPU either.

I used to run Starsector perfectly around 60 FPS even in big battles with an old GTX 275 (a card from 2009), then when I went to a R9 270X my FPS tanked with plenty of juice available.
I logged GPU & CPU use with HWiNFO and noted that neither was even close to being taxed while Starsector showed low Idle % and awful FPS.

This is strictly an OpenGL driver issue.
« Last Edit: August 31, 2019, 03:54:55 AM by Schwartz »
Logged

Boreale

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: Terrible performance on multiple OS, AMD GPU issues?
« Reply #14 on: August 31, 2019, 11:27:55 AM »

Just a damn shame then I guess.
Logged
Mutiple.  Simultaneous.  Deep strikes.
Pages: [1] 2 3