[fixed] Severe GL performance regression with ZDoom LE

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
Post Reply
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

[fixed] Severe GL performance regression with ZDoom LE

Post by drfrag »

I've found a severe performance regression in the latest ZDoom LE version (2.8.2a) with DUpart1.wad (DARK UNIVERSE).
It happens only with the GL renderer at hot spots with complex architecture, first i did a bisect and then compiled again the old fast version (2.8.1b). I even switched to the old compiler (gcc 4.6.1) and changed compiling options but now the old version is slow as well. Even swapping inis won't help. :o
I've experienced it only on that wad so far, it's in UDMF format and has ACS. No gl nodes are cached.
It's crazy i know, ms go up from 50 to 150 with the fps counter and overall rendertime from 40 to 120 ms. No idea of WTF is going on. :(
Any help would be appreciated. BTW GZDoom is fast.

This is one of the hot spots:
Screenshot_Doom_20180410_125122.png
Last edited by drfrag on Tue Apr 10, 2018 1:50 pm, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Severe GL performance regression with ZDoom LE

Post by Graf Zahl »

Some info about the hardware being used, please?
And how "fast" is GZDoom?
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Severe GL performance regression with ZDoom LE

Post by drfrag »

Thanks, i'm testing with notarget on. Here are the bench results, not exactly the same position but close. There are portals in LE but seems it's a setup thing, anyway the code is the same. It's GL2 hardware and happens both on intel and ati.

LE 2.8.2a
Map MAP06: "A SECOND FRONT",
x = -47.1806, y = -259.9236, z = 41.0000, angle = 87.8906, pitch = 3.2520
Walls: 733 (0 splits, 1 t-splits, 5836 vertices)
Flats: 458 (2469 primitives, 12743 vertices)
Sprites: 160, Decals=0, Portals: 2
W: Render=14.398, Split = 0.286, Setup=81.427, Clip=0.604
F: Render=22.344, Setup=0.404
S: Render=4.944, Setup=0.356
All=130.053, Render=124.745, Setup=83.432, BSP = 0.337, Portal=0.281, Finish=0.907
DLight - Walls: 696 processed, 222 rendered - Flats: 1307 processed, 900 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
7 fps

GZDoom 3.3.1 64-bit
Map MAP06: "A SECOND FRONT",
x = -47.0000, y = -259.0000, z = 41.0000, angle = 85.4297, pitch = 0.0000
Walls: 525 (0 splits, 0 t-splits, 3204 vertices)
Flats: 351 (1728 primitives, 8760 vertices)
Sprites: 55, Decals=0, Portals: 0
W: Render=15.127, Setup=0.408, Clip=0.452
F: Render=22.635, Setup=0.088
S: Render=1.382, Setup=0.140
All=41.693, Render=39.299, Setup=1.335, BSP = 0.244, Portal=0.000, Drawcalls=32.750, Finish=0.733
DLight - Walls: 0 processed, 203 rendered - Flats: 0 processed, 0 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
17 fps

Edit: added LE 2.8.1b results:
Map MAP06: "A SECOND FRONT",
x = -47.0000, y = -259.0000, z = 41.0000, angle = 82.2656, pitch = -0.4395
Walls: 714 (0 splits, 1 t-splits, 5664 vertices)
Flats: 458 (2421 primitives, 12383 vertices)
Sprites: 162, Decals=0, Portals: 2
W: Render=12.015, Split = 0.136, Setup=0.665, Clip=0.664
F: Render=26.462, Setup=0.251
S: Render=4.277, Setup=0.316
All=50.356, Render=45.233, Setup=2.377, BSP = 0.335, Portal=0.244, Finish=1.215
DLight - Walls: 696 processed, 222 rendered - Flats: 1307 processed, 889 rendered
Missing textures: 0 upper, 0 lower, 0.000 ms
15 fps

Edit2: the wad and the latest release:
https://www.doomworld.com/idgames/level ... -f/dupart1
https://github.com/drfrag666/gzdoom/rel ... 2.8.2a.zip
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Severe GL performance regression with ZDoom LE

Post by drfrag »

Sorry, apparently it's an intel driver weird thing. I've checked the old released version with the ati card (compiling machine) and it's also slow. The old version is only faster on this laptop with intel graphics so who knows what's going on, may be the intel driver doesn't like some change.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: [fixed] Severe GL performance regression with ZDoom LE

Post by drfrag »

It's fixed, on other cards there was not that much of a difference. I cherry-picked something bad when i ported the hqnx mmx modes.
I've applied this patch from a few days later, time for a re-release.

re-fixed FTexture::CheckTrans
The original broken code had it always reset the translucency info to 'not present'.
The first fix completely removed that line, although it was merely misplaced, but still necessary to avoid constant re-checking of the same texture.
Post Reply

Return to “General”