Ever wanted to bring AMD/ATI's OpenGL to it's knees?

If it's not ZDoom, it goes here.
Post Reply
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by KynikossDragonn »

It's really simple, just download Starsiege: Tribes, and then try loading any of the custom maps that adds multiple terrains into the map (or make a map yourself it's not hard, can be done in any text editor), set your $pref::screenSize to 1 and watch your framerate remain under 10 FPS!

Hell even just setting $pref::screenSize to 1 on standard maps will make your FPS drop to 20.

Granted the DarkStar engine has horribly written OpenGL but it's rather hilarious this happens so badly on a few Radeon cards no matter what drivers you end up using on them, where as NVIDIA and Intel don't even break a sweat at this, infact Intel is a tad more compatible with Tribes than most.

I vaguely remember talking about this with somebody and they told me the reason why it suffers so badly on ATI/AMD is that the OpenGL driver's drawcall functions are horribly unoptimized or something, and Tribes spams such calls especially in regards to the terrain rendering.
User avatar
Nash
 
 
Posts: 17434
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Nash »

Just try to run any GZDoom mod with 3D models while using OpenGL on AMD cards. Enjoy screw-ey vertex positions everywhere... :mrgreen:
User avatar
Rachael
Posts: 13532
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Rachael »

ATI on Linux and ATI on Windows are not even remotely the same beast and cannot legitimately be compared - it's like apples and oranges. Aren't you using Linux here?
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by KynikossDragonn »

Rachael wrote:ATI on Linux and ATI on Windows are not even remotely the same beast and cannot legitimately be compared - it's like apples and oranges. Aren't you using Linux here?
I've had the same problem even on Windows machines. I don't know what's with ATI/AMD's OpenGL drivers but they've consistently had extremely poor performance under Starsiege and Tribes 1 like that, where as NVIDIA and Intel ran at full performance.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Graf Zahl »

The main problem seems to be that they designed their hardware so that OpenGL is utterly hostile to it.
Many of the uglier things in the Vulkan API are just proof of that - the entire API contains so much seemingly nonsensical stuff that the only explanation for it is some weirdly designed hardware working outside the realm of sensibly defined parameters.

In the end this means that their GL driver will frequently have to recompile shaders (I have read that several state parameters in OpenGL can only be changed for AMD's GCN hardware by compiling the shaders with different base parameters), reorganize on-GPU resources or other pointless stuff.
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by KynikossDragonn »

Graf Zahl wrote:The main problem seems to be that they designed their hardware so that OpenGL is utterly hostile to it.
Many of the uglier things in the Vulkan API are just proof of that - the entire API contains so much seemingly nonsensical stuff that the only explanation for it is some weirdly designed hardware working outside the realm of sensibly defined parameters.

In the end this means that their GL driver will frequently have to recompile shaders (I have read that several state parameters in OpenGL can only be changed for AMD's GCN hardware by compiling the shaders with different base parameters), reorganize on-GPU resources or other pointless stuff.
Most of the cards I tested weren't GCN, they were TeraScale based. And boy it was absolutely miserable and quite frankly pathetic.

My GeForce 4 Ti 4200 (or even the last GeForce I owned but don't remember the exact model) ran Tribes so much better than the ATI/AMD cards I had intermittently, including the HD 6870 I was stuck with in my last machine which originally ran Windows 7 and had the same abysmal framerate problems in Tribes.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Graf Zahl »

Yeah, nothing new here. It has been like that since forever.

Before shaders were a thing it was the fog that was broken on ATI, afterward it was the shitty performance. There has never been a time where OpenGL was working right with ATI/AMD on Windows.
Gez
 
 
Posts: 17834
Joined: Fri Jul 06, 2007 3:22 pm

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Gez »

KynikossDragonn wrote:It's really simple, just download Starsiege: Tribes, and then try loading any of the custom maps that adds multiple terrains into the map (or make a map yourself it's not hard, can be done in any text editor), set your $pref::screenSize to 1 and watch your framerate remain under 10 FPS!
I think just doing one of those OpenGL tutorials where you draw a single triangle in immediate mode would be enough.
User avatar
Redneckerz
Spotlight Team
Posts: 1050
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by Redneckerz »

GZdoom by default tanks AMD's OpenGL. :lol:

Having said that, The Darkstar Engine is a child of the 90s. It may very well expose code that would run poorly on today's hardware. That's not so much a fault of the graphics card rather than that the Engine is exposing legacy code that you typically wouldn't run on hardware that is used to DX11 shader contexts.
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?

Post by KynikossDragonn »

Redneckerz wrote:Having said that, The Darkstar Engine is a child of the 90s. It may very well expose code that would run poorly on today's hardware. That's not so much a fault of the graphics card rather than that the Engine is exposing legacy code that you typically wouldn't run on hardware that is used to DX11 shader contexts.
True, but like I said, NVIDIA cards well beyond the game's prime time renders the game at crazy framerates even with maps that had multiple TED objects instanced into it (you have to do this to create maps like caves or chasms for example), Phantom's World has so many terrains loaded that, unless you set your draw distance extremely small you will never get more than 5 FPS on a AMD GPU, but I get 60 FPS just fine on any NVIDIA card from several years ago to today, and same with Intel graphics.
Gez wrote:I think just doing one of those OpenGL tutorials where you draw a single triangle in immediate mode would be enough.
If you mean the whole "glBegin/glEnd" thing, yeah, I think that'll clog up AMD's OpenGL driver real good too. That kinda gives me a funny idea to try if I ever remember how to program, I bet I could write something that just completely stalls on ATI/AMD but runs just fine on everything else.
Post Reply

Return to “Off-Topic”