Graf Zahl wrote:If we are a game, we are the only one using it!
Not really. The graphics driver has to process the calls you give it before sending them off to the GPU (this is improved with AZDO and Vulkan, but GZDoom doesn't use them yet, AFAIK), which is extra CPU processing. When you display a frame, you're giving it to the desktop manager which has to go and composite it, redrawing the desktop to show the updated window (a desktop that disables compositing for opaque fullscreen windows can help, but that's not a guarantee, especially if you don't play fullscreen). The audio service has to take the audio you give it and do its own processing (mixing, volume adjustments, etc) before it can be given to the audio driver to give to the audio hardware. While the game may just make a draw call, a SwapBuffers call, or write a chunk of mixed audio to an audio buffer, the system does more work before it gets to the hardware from the game.
It gets worse when you add things like video capture, streaming, or various real-time data probes. Even a modern game console can have dozens of threads/processing running in the background separate from the game itself (the Nintendo 3DS apparently has around 40 external processes, some more active than others).
The reality is different: On modern graphics hardware the GPU is actually mostly idle when running GZDoom. So the choice is not 10% more effects for twice the horsepower but 10x as many lights without having any performance impact at all. Unless, of course, you are the proud owner of an OpenGL 3 graphics card and would be shut out.
I consider myself to be fairly lucky in the video card department, with a GTX 650. Certainly not high end, but it's got a bit of horsepower to it, supporting things like OpenGL 4.6 and Vulkan. But it's also cut off a bit at the knees, since I have a rather weak CPU. The CPU can end up being the bottleneck in graphics-intensive scenarios even if the GPU is capable of keeping up, because the driver can't tell the GPU what to do fast enough. In a way, my GPU is too powerful for my CPU, though it does mean when I'm able to finally upgrade my CPU (which will also require upgrading the motherboard and memory at the same time), there'll be less pressure to immediately upgrade my GPU as well.
Rachael wrote:But lately when I see a lot of your posts, they seem to be of fear about anything other than whatever may presently be the status quo at the present time. If it's someone who complains about a change that's already been implemented you frame it in such a way that people don't like progress - but if it's a change that's yet to be made you have what seem to be strong concerns about it before it happens.
I apologize if I come across as obsessively cautious. It's not my intention to speak against future improvements. I just feel a bit of unease when a feature is tailored to a specific piece of hardware, not for its capabilities or because it represents the proper way to work, but just because it's modern. For example, take GZDoom's shadow mapping. There is a minimum requirement given its design, and that's fine, but the feature itself isn't tailored to a particular level of power. The shadow texture size can be lowered or raised to work on weaker or stronger devices. Similarly, AO has a minimum requirement, but it can be tuned low, medium, or high depending on the available power (the number of portal traversals for AO can also be configured). It tries to be somewhat accommodating.
When it comes to something like automatic placement dynamic lights in the original maps, I'm not sure a similar quality setting would be doable, which makes it a bit more difficult to be accommodating. So rather than just looking at what hardware is contemporary to set the target, IMO it would be better to work the other way around, find an acceptable look and use what you need to achieve it. I mean, if you can add a setting to scale up or down that would be great and ease my concerns, I just wouldn't presume such a thing to be feasible. And it'd be a shame for a potentially nice feature to be all-or-nothing given an arbitrary requirement.