Page 1 of 1

Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 7:33 am
by dgzoom
OS: Windows 7, 64-bit
Graphics chipset: ATI Radeon HD 4870
Driver: AMD Catalyst 13.9
Resolution: Any

LZDoom: 3.82.0.0
Renderer: OpenGL (works fine with software)

Default settings except for hardware video.

Picking up partial invisibility lowers the framerate from 200 to 16 and switching maps or starting a new game keeps it low. I have only tested it in Doom 2, map 7.

This might be another issue of my graphics card, though. :p

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 7:44 am
by Graf Zahl
What happens if you change the render mode for this feature in the Display Options menu? The default is an unusual blending mode, and considering the "quality" of the driver it wouldn't surprise me if this was at fault.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 7:54 am
by dgzoom
I deleted the settings file, started in software mode.

Change rendering output
Hardware acceleration: DOOM Software Renderer (default), Software canvas: Direct3D (default)
High FPS
Hardware acceleration: OpenGL-accelerated, Software canvas: Direct3D (default)
Restart: Low FPS
Hardware acceleration: OpenGL-accelerated, Software canvas: OpenGL
Restart: Low FPS

I'm just reporting this in case others have the same issue.. I have ordered a new card now.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 8:33 am
by drfrag
Yep, i changed the default to software. Looks like it's a driver bug.
Under OpenGL options change fuzz style to shadow or something else.
BTW i think this should go under Vintage build/LZDoom bugs.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 8:43 am
by dgzoom
Sweet. Fuzz style: Anything but software is fine.

Thanks a bunch.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 8:45 am
by Graf Zahl
drfrag wrote:Yep, i changed the default to software. Looks like it's a driver bug.
Under OpenGL options change fuzz style to shadow or something else.
BTW i think this should go under Vintage build/LZDoom bugs.


For a legacy build you should really not default to a more costly setting. The default shadow style was mainly chosen because it is a very cheap effect that's always hardware supported - even on the most ancient graphics hardware.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 9:34 am
by drfrag
Hey i didn't know it was that expensive. On ancient hardware it would revert to shadow anyway but that driver reports the feature as supported and it's broken.
I want it to look as in software, the other default is safe but it's not optimal. I did the same for the lightning mode.
Since there's a problem he could have gone and change the settings but he didn't, with shadow as default people could go and change it as well but many times they won't do it and get a suboptimal experience (but i don't mean that this setting it's optimal). Besides the default renderer is software anyway in LZDoom.

Re: Partial invisibility kills the framerate

PostPosted: Thu Jul 25, 2019 12:18 pm
by Graf Zahl
So let me get this straight: You make a special build for legacy hardware - and then set everything to high end options? As a user I'd expect such a thing to be optimized by default for the hardware it's intended to run on.

Seriously, the reason why the default lighting mode is "Doom" is that this all comes from a time when GL 3.3 was the high end and wasn't performant enough to have these options on unconditionally.

Of course it's your project and ultimately your decision but with the intended mission of the port you have to always keep in mind that you have to compromise for the low end.

Re: Partial invisibility kills the framerate

PostPosted: Fri Jul 26, 2019 7:23 am
by drfrag
It was a bug hidden by the old default, the fallback was not working for GL 2. I've changed the default to something cheaper as well.