opengl better than vulkan on my amd?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
Post Reply
doomwell
Posts: 12
Joined: Sat Feb 27, 2021 5:26 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

opengl better than vulkan on my amd?

Post by doomwell »

This seems odd, but gzdoom runs better for me (more stable/higher fps) in opengl versus vulkan. On an AMD card! (R9 290) Not complaining really, tons of fps either side :)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: opengl better than vulkan on my amd?

Post by Graf Zahl »

That's a bit surprising. Can you run the "bench" console command on both backends with a fairly demanding map from the exact same position and post the results here? I'd really like to see the results of that.
doomwell
Posts: 12
Joined: Sat Feb 27, 2021 5:26 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: opengl better than vulkan on my amd?

Post by doomwell »

Found a good spot, killed all monsters, made save game as testing point.

vulkan bench right after load

Code: Select all

Map MAP27: "Heresiarch's Seminary",
x = -373.3851, y = -2487.9414, z = 48.0000, angle = 89.9121, pitch = 4.7461
279 fps

Walls: 190 (0 splits, 0 t-splits, 688 vertices)
Flats: 97 (97 primitives, 11607 vertices)
Sprites: 249, Decals=0, Portals: 1, Command buffers: 1
BSP = 0.042, Clip=0.065
W: Render=0.082, Setup=0.049
F: Render=0.036, Setup=0.007
S: Render=0.127, Setup=0.070
2D: 0.727 Finish3D: 0.001
Main thread total=0.176, Main thread waiting=0.069 Worker thread total=0.142, Worker thread waiting=0.016
All=2.762, Render=0.266, Setup=0.182, Portal=0.005, Drawcalls=0.108, Postprocess=0.015, Finish=2.205
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
vulkan bench after opening and closing game menu

Code: Select all

Map MAP27: "Heresiarch's Seminary",
x = -373.3851, y = -2487.9414, z = 48.0000, angle = 89.9121, pitch = 4.7461
253 fps

Walls: 190 (0 splits, 0 t-splits, 688 vertices)
Flats: 97 (97 primitives, 11607 vertices)
Sprites: 249, Decals=0, Portals: 1, Command buffers: 1
BSP = 0.049, Clip=0.075
W: Render=0.102, Setup=0.058
F: Render=0.046, Setup=0.008
S: Render=0.158, Setup=0.081
2D: 0.728 Finish3D: 0.001
Main thread total=0.207, Main thread waiting=0.083 Worker thread total=0.165, Worker thread waiting=0.018
All=2.874, Render=0.332, Setup=0.214, Portal=0.006, Drawcalls=0.135, Postprocess=0.017, Finish=2.198
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
opengl

Code: Select all

Map MAP27: "Heresiarch's Seminary",
x = -373.3851, y = -2487.9414, z = 48.0000, angle = 89.9121, pitch = 4.7461
264 fps

Walls: 190 (0 splits, 0 t-splits, 688 vertices)
Flats: 97 (97 primitives, 11607 vertices)
Sprites: 249, Decals=0, Portals: 1, Command buffers: 0
BSP = 0.040, Clip=0.062
W: Render=0.380, Setup=0.050
F: Render=0.194, Setup=0.007
S: Render=0.569, Setup=0.071
2D: 0.090 Finish3D: 0.045
Main thread total=0.168, Main thread waiting=0.066 Worker thread total=0.143, Worker thread waiting=0.015
All=3.461, Render=1.167, Setup=0.173, Portal=0.016, Drawcalls=0.881, Postprocess=0.030, Finish=1.639
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
open gl after menu

Code: Select all

Map MAP27: "Heresiarch's Seminary",
x = -373.3851, y = -2487.9414, z = 48.0000, angle = 89.9121, pitch = 4.7461
264 fps

Walls: 190 (0 splits, 0 t-splits, 688 vertices)
Flats: 97 (97 primitives, 11607 vertices)
Sprites: 250, Decals=0, Portals: 1, Command buffers: 0
BSP = 0.039, Clip=0.061
W: Render=0.381, Setup=0.049
F: Render=0.194, Setup=0.007
S: Render=0.568, Setup=0.071
2D: 0.087 Finish3D: 0.044
Main thread total=0.165, Main thread waiting=0.065 Worker thread total=0.141, Worker thread waiting=0.014
All=3.465, Render=1.165, Setup=0.170, Portal=0.016, Drawcalls=0.868, Postprocess=0.028, Finish=1.655
DLight - Walls: 0 processed, 0 rendered - Flats: 0 processed, 0 rendered
TLDR
So vulkan starts out stronger, but activating the game menu causes it to end up in a lower spot, somewhat variable also (only one bench shown for that phenomenon)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: opengl better than vulkan on my amd?

Post by Graf Zahl »

That map is not very representative, it is far too simple for that. It looks more like normal variations - the actual render performance of Vulkan is clearly better by ca. 20%, looking at the "All" value.

BTW, same scene on my computer with a comparable CPU and a Geforce 1060 gives All=1.5 - it's mainly the draw calls and finish time that differs. I get 0.007 there with OpenGL.
doomwell
Posts: 12
Joined: Sat Feb 27, 2021 5:26 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: opengl better than vulkan on my amd?

Post by doomwell »

I tried a more demanding map, with Vulkan taking the crown by double! Neither seemed to have variation, that just must be an oddity of vulkan on baby maps.

Map map01: "Verdant Citadel",
x = 5200.0000, y = 4056.0000, z = -119.0000, angle = -135.0000, pitch = 0.0000
44 fps

Walls: 5072 (0 splits, 143 t-splits, 12784 vertices)
Flats: 1465 (1465 primitives, 40794 vertices)
Sprites: 1063, Decals=61, Portals: 4, Command buffers: 0
BSP = 0.839, Clip=1.479
W: Render=8.645, Setup=1.410
F: Render=3.301, Setup=0.206
S: Render=3.404, Setup=0.522
2D: 0.139 Finish3D: 0.051
Main thread total=2.786, Main thread waiting=0.468 Worker thread total=2.684, Worker thread waiting=0.547
All=20.718, Render=15.581, Setup=2.801, Portal=0.310, Drawcalls=10.410, Postprocess=0.090, Finish=0.864
DLight - Walls: 420 processed, 243 rendered - Flats: 1054 processed, 264 rendered

Map map01: "Verdant Citadel",
x = 5200.0000, y = 4056.0000, z = -119.0000, angle = -135.0000, pitch = 0.0000
85 fps

Walls: 5072 (0 splits, 143 t-splits, 12784 vertices)
Flats: 1465 (1465 primitives, 40794 vertices)
Sprites: 1063, Decals=61, Portals: 4, Command buffers: 7
BSP = 0.885, Clip=1.588
W: Render=2.232, Setup=1.482
F: Render=0.990, Setup=0.218
S: Render=0.861, Setup=0.550
2D: 1.016 Finish3D: 0.001
Main thread total=2.924, Main thread waiting=0.452 Worker thread total=2.860, Worker thread waiting=0.609
All=8.913, Render=4.287, Setup=2.939, Portal=0.097, Drawcalls=1.250, Postprocess=0.032, Finish=1.188
DLight - Walls: 418 processed, 239 rendered - Flats: 1052 processed, 266 rendered
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: opengl better than vulkan on my amd?

Post by Graf Zahl »

Yes, that's more like it for AMD. Just have a look at those drawcalls numbers!
doomwell
Posts: 12
Joined: Sat Feb 27, 2021 5:26 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: opengl better than vulkan on my amd?

Post by doomwell »

Update: I think I found what was causing that variance in Vulkan. Freesync. If I disable it, or use the frame limiter (140) instead of vsync, it goes to almost perfect frame times.
Post Reply

Return to “General”