Supported hardware question

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Supported hardware question

Post by Graf Zahl »

I'm wondering:

Would anyone really care if I ditched support for older non GL 2.0 compatible graphics cards in GZDoom beyond a basic fallback mode without any special effects?

My problem is that the GL rendering code has become pretty much unmaintainable because it needs to handle so many special cases necessary for old hardware. Much of this code is from a time where nobody could even imagine the capabilities of today's graphics cards - and this old cruft has been seriously stalling my work for too long now.

I'd really like to restart fresh but take real advantage of more modern features - especially shaders. However this would only be possible if I ignored the older hardware.

I'd assume that I still could produce something that can run on pre GF6 cards with some limitations - but the following things sure would no longer work on such cards:

- the current depth fog-based lighting of sectors
- dynamic lights
- warped textures
- possibly a few portal effects (reflective floors are most likely to become inoperational.)

In summary: These cards would only get the most basic feature set in order to keep that code from becoming an obstacle yet again.

The last time I started such a rewrite I tried to preserve the old code and just add the changes in specific points. However, I realized that this is not going to work out. I will probably have to reimplement the entire renderer from the ground up and throw out all the baggage to get something that's worth the time - but that will inevitably mean that the old code has to go.
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: Supported hardware question

Post by Gez »

Looking at the benchmark thread, I have the crappiest chipset around and I know it's still compatible with OpenGL 2.0 and pixel shaders 2.0.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

That it is but it will sure suffer some performance loss if these features are used more aggressively.

But honestly, I think enough time has passed since the Geforce FX series or other similar cards have been a strong market force. I just can't stick to the past forever if it blocks the way into the future - and that's precisely what's been happening for too long now.

I'm really interested if someone still uses such old cards. If there are some they sure are a small minority... ;)
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Re: Supported hardware question

Post by Enjay »

If you'd asked the question 3 months ago, then I might have been quite upset by the idea. Now, from a purely selfish POV, it doesn't bother me much. Certainly, I would feel that GZdoom without access to the features you mention would be of much less interest to me than it is with them. I guess the question is how many people are in a position where they would be adversely affected by such a move - and how much those people would be upset by the loss of the features. I suppose that's what you are already asking isn't it? :P

The other side of it is the question of what you want to do with GZdoom and how much you are restricted by keeping the old code and how much you would enjoy or be able to do with GZdoom if you did not move on. It sounds like these are significant issues. It also sounds similar to the decision that Timmie made some time ago about ZdoomGL.

On balance, if GZdoom is being held up by trying to remain compliant with old hardware that can be reasonably be considered obsolete and which only a very small percentage of the userbase still uses, then perhaps it is time to move on. If, however, it turns out that there is still a reasonable number of people using such hardware then it makes sense to delay (but not cancel) such a move.

Once you have enough feedback, perhaps a plan might be to bring things up to a new official version which you clearly state as the last one with full old-hardware compatibility, and then move on. Doing that would mean that people with old hardware would have a good, reasonably up to date, exe to edit and play with whilst you work on the new renderer. I'm guessing that your task won't be a quick one so that version might be "official" for some time. If that is the case, it may be some time before a new official version with the new renderer appears - ie there would be even more time for people to be changing their hardware anyway (for whatever reason) and thereby reduce still further the number of people adversely affected by such a change anyway.

Who knows, there may also be someone interested in keeping the old renderer version up to date with Zdoom code changes/features for a while too?
User avatar
InsanityBringer
Posts: 137
Joined: Fri Jun 15, 2007 22:59

Re: Supported hardware question

Post by InsanityBringer »

Provided a fallback exists for those oldschool fanatics, I doubt it should be a problem.

I'd rather see something work properly and efficencly, as well as be much easily matained, rather than constant support for old cards and the like.

Any complaining I truly see will be the ramblings of someone who stupidly belives doom source ports should still be playable on the original hardware, or someone can't upgrade, due to money issues. That could probably be ignored though. Just look at all of today's big game developers. They don't care if old hardware is unsupported. They want things to work and look nice. They aren't crippling and making their code messy to get it looking the same (or more likely worse but similar) on old hardware
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

Enjay wrote: The other side of it is the question of what you want to do with GZdoom and how much you are restricted by keeping the old code and how much you would enjoy or be able to do with GZdoom if you did not move on. It sounds like these are significant issues. It also sounds similar to the decision that Timmie made some time ago about ZdoomGL.
Just to give you an overview of issues:

- there's 2 ways to render special colormaps (e.g. inverse invulnerability): Use a shader or create a different texture
- there's 2 ways to warp a texture: use a shader or create a different texture
- there's no abstraction of textures. This is a significant problem because any special effects like warping, brightmaps or glowing flats are crudely hacked in making the code a big mess. I'd rather replace it with a 2-tier approach: Separate it into textures and materials. The texture is just that: a direct representation of the graphic. The material on the other hand defines what shader is used, whether it's a multitexture setup and such. This alone should clean up 50% of the mess but is no longer compatible with the way dynamic lights are drawn right now. Which brings us to the next point:
- the way dynamic lighting is done is just hideous. It's impossible to work with this and still have texture effects.

I can clean this up - but only if I no longer have to bother with all the messy side effects of trying to make these features work with older hardware. So it's either continued full support at the current stage for everything or scaled back support for the old cards and better feature support for new ones. Another thing is that if I know that the shaders don't have to be compatible with non-shader effects I can simplify the shader interface.
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: Supported hardware question

Post by Gez »

Well, when the time comes to ditch the old code from the SVN trunk, make first a last official release of GZDoom with said old code. Then people who complain can be told "just use version 1.2.9, not 1.3" or whatever other number scheme is used.

Personally, the only features I really require of an OpenGL port are non-distorted view when looking up and down and freedom from the restricted palette. If I have to turn dynlights off for performance reasons, it's not that big a deal.
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Supported hardware question

Post by Rachael »

Thing with shaders is, it's super slow on my card. Also, I would no longer be able to test in Linux effectively, because that computer has an internal GeForce 4 equivilant that can't be upgraded effectively. It seems to conflict with anything else I put in there even if I disable the internal card. Ok, GF4 is supposed to have shaders, but that one doesn't seem to have supported ones.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

What card are you speaking about when you say 'super slow'?
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Supported hardware question

Post by Rachael »

The ATI HD 2400. FPS drops to about half with shaders fully in use, especially the colormap shaders.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

How old is that card? High or low end? And does this happen under Windows or Linux?


I'm sorry about this but if I want to move forward with GZDoom I have to draw the line somewhere. And functional shader support definitely is it.

I can try later to simplify the existing renderer by removing all shader related code and then keep it as a second rendering path. Obviously I wouldn't maintain that code beyond the basic requirements to keep the game working anymore.
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Supported hardware question

Post by Rachael »

The GPU itself is almost 2 years old. It was released to the public 08/07/07.

Lots more info here and here.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

Ok, good to see it's

a) old and
b) low end (judging by the price)
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Supported hardware question

Post by Rachael »

2 years is not that old...
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Supported hardware question

Post by Graf Zahl »

Well, 2 generations. In today's world that's old. :laugh:
Locked

Return to “GZDoom”