Ever wanted to bring AMD/ATI's OpenGL to it's knees?
- 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?
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.
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.
Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?
Just try to run any GZDoom mod with 3D models while using OpenGL on AMD cards. Enjoy screw-ey vertex positions everywhere...
Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?
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?
- 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?
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.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?
- Graf Zahl
- 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?
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.
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.
- 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?
Most of the cards I tested weren't GCN, they were TeraScale based. And boy it was absolutely miserable and quite frankly pathetic.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.
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.
- Graf Zahl
- 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?
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.
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.
Re: Ever wanted to bring AMD/ATI's OpenGL to it's knees?
I think just doing one of those OpenGL tutorials where you draw a single triangle in immediate mode would be enough.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!
- 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?
GZdoom by default tanks AMD's OpenGL.
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.
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.
- 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?
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.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.
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.Gez wrote:I think just doing one of those OpenGL tutorials where you draw a single triangle in immediate mode would be enough.